Простое приложение для управления списком задач (ToDo), построенное на Flutter с использованием архитектуры MVVM, Riverpod для управления состоянием и GoRouter для навигации. Поддерживает авторизацию, регистрацию и работу с задачами через REST API.
- Регистрация и вход пользователей.
- Создание, просмотр и удаление задач.
- Локальное кэширование данных с использованием Hive.
- Обработка ошибок (например, истёкший токен, проблемы с сетью).
- Чистая архитектура с разделением на слои (data, domain, presentation).
- Flutter SDK: >=3.0.0 <4.0.0
- Dart: >=3.0.0 <4.0.0
- Бэкенд: Frog Task List Backend (см. инструкции ниже)
- Устройство или эмулятор для запуска
-
Клонируйте репозиторий:
git clone <repository-url> cd frog_task_list
-
Установите зависимости:
flutter pub get
-
Настройте подключение к бэкенду:
- Откройте
lib/core/network/api_client.dart
. - Убедитесь, что
_baseUrl
соответствует адресу бэкенда:- Для эмулятора:
http://localhost:8080
. - Для физического устройства: замените
localhost
на IP-адрес хоста (например,http://192.168.1.x:8080
).
- Для эмулятора:
- Откройте
-
Запустите бэкенд:
- Убедитесь, что бэкенд (Dart Frog) работает на
http://localhost:8080
(см. инструкции в README бэкенда).
- Убедитесь, что бэкенд (Dart Frog) работает на
-
Запустите приложение:
flutter run
- Для подробных логов используйте:
flutter run -v
.
- Для подробных логов используйте:
/frog_task_list
/lib
/core # Общие утилиты (ApiClient, ошибки, хранилище)
/module
/auth # Логика авторизации (модели, API, ViewModel)
/todo # Логика задач (модели, API, ViewModel)
/presentation # Маршруты и провайдеры
/shared # Общие виджеты
flutter_riverpod
: Управление состоянием.go_router
: Навигация.http
: HTTP-запросы.hive
: Локальное хранилище.freezed
: Генерация моделей.