Skip to content

braincreator/proviante_notes

Repository files navigation

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
  2. Клонируйте репозиторий:
    git clone <URL репозитория>
    cd proviante_notes
  3. Установите зависимости:
    flutter pub get
  4. Запустите генерацию кода (необходимо для Isar и Injectable):
    flutter pub run build_runner build --delete-conflicting-outputs
    Примечание: Эту команду нужно выполнять после изменений в моделях Isar или конфигурации Injectable.
  5. Запустите приложение:
    flutter run
    Выберите целевое устройство (эмулятор, реальное устройство или десктоп/веб).

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

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

flutter test

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

flutter test --update-goldens

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors