An open API service indexing awesome lists of open source software.

https://github.com/braincreator/proviante_notes


https://github.com/braincreator/proviante_notes

Last synced: 8 days ago
JSON representation

Awesome Lists containing this project

README

          

# Proviante Notes

## Описание

Простое кроссплатформенное приложение для создания и управления заметками, созданное с помощью Flutter.

## Основные возможности (Features)

* **Создание, редактирование и удаление заметок:** Базовый функционал для работы с заметками.
* **Темная тема:** Поддержка светлой и темной тем оформления.
* **Поиск по заметкам:** Быстрый поиск заметок по их содержимому или заголовку.
* **Сортировка:** Возможность сортировки заметок (например, по дате создания или изменения).
* **Кроссплатформенность:** Поддержка Android, iOS, Web, Windows и macOS.
* **Тесты:** Наличие юнит-тестов, виджет-тестов и golden-тестов для обеспечения качества кода.
* **Сплэш-скрин:** Кастомный экран загрузки при запуске приложения.
* **Кастомная иконка приложения:** Уникальная иконка приложения для всех платформ.
* **Кастомные анимации:** Плавные анимации переходов между экранами и анимированные элементы интерфейса (кнопки, возможно, списки).
* **Локализация:** Поддержка нескольких языков (английский, русский).

## Скриншоты (Screenshots)










## Технологии (Technologies Used)

* **Фреймворк:** Flutter
* **Язык:** Dart
* **Управление состоянием:** flutter_bloc
* **База данных:** Isar (локальная NoSQL БД)
* **Внедрение зависимостей (DI):** get_it / injectable
* **Локализация:** easy_localization
* **Анимации:** flutter_animate, animations
* **Тестирование:** flutter_test, mockito, golden_toolkit
* **Генерация иконок/сплэша:** flutter_launcher_icons, flutter_native_splash
* **Шрифты:** google_fonts
* **Прочее:** equatable, path_provider, intl, shared_preferences

## Архитектура (Architecture)

Проект придерживается принципов **Clean Architecture**, разделяя логику на слои:

* **Data:** Источники данных (локальная БД Isar), репозитории.
* **Domain:** Сущности (Entities), интерфейсы репозиториев, Use Cases (хотя в данном проекте могут быть неявно выражены в BLoC).
* **Presentation:** UI (экраны, виджеты), управление состоянием (BLoC).

Внедрение зависимостей осуществляется с помощью `get_it` и `injectable`. Управление состоянием построено на `flutter_bloc`.

## Запуск проекта (Getting Started / Installation)

1. **Убедитесь, что у вас установлен Flutter SDK.** Инструкции по установке: [https://flutter.dev/docs/get-started/install](https://flutter.dev/docs/get-started/install)
2. **Клонируйте репозиторий:**
```bash
git clone
cd proviante_notes
```
3. **Установите зависимости:**
```bash
flutter pub get
```
4. **Запустите генерацию кода** (необходимо для Isar и Injectable):
```bash
flutter pub run build_runner build --delete-conflicting-outputs
```
*Примечание: Эту команду нужно выполнять после изменений в моделях Isar или конфигурации Injectable.*
5. **Запустите приложение:**
```bash
flutter run
```
Выберите целевое устройство (эмулятор, реальное устройство или десктоп/веб).

## Тестирование (Running Tests)

Для запуска всех тестов выполните команду:

```bash
flutter test
```

Для обновления golden-файлов (если виджет-тесты используют `golden_toolkit`):

```bash
flutter test --update-goldens