Косталевский Даниил, БПИ-236
Приложение TripSync позволяет пользователям планировать путешествия, управлять бюджетом поездки, сохранять бронирования, планировать активности. Пользователь может создавать поездки, добавлять расходы, планировать мероприятия и хранить всю информацию о путешествии в одном месте.
Проект включает в себя слоистую архитектуру, тестирование и управление состоянием через Riverpod.
Onboarding При первом запуске приложение показывает onboarding с несколькими экранами, где описаны основные возможности приложения.
Управление поездками Пользователь может:
- создавать поездки
- просматривать список всех поездок
- открывать детали поездки
- удалять поездки
Для каждой поездки отображается:
- место назначения
- даты путешествия
- общий бюджет
- потраченный бюджет
- количество активностей
Бюджет поездки
Пользователь может:
- добавлять расходы
- редактировать расходы
- удалять расходы
- просматривать список всех расходов
Также автоматически считается:
- общий бюджет поездки
- потраченная сумма
Планирование поездки
Пользователь может:
- добавлять активности
- планировать мероприятия
- управлять расписанием поездки
Бронирования
Пользователь может:
- добавлять бронирования (отели, билеты и т.д.)
- редактировать их
- удалять бронирования
Это позволяет хранить всю важную информацию о путешествии внутри приложения.
Проект использует слоистую архитектуру.
data
- модели данных
- источники данных
- работа с локальными данными
domain
- сущности приложения
- бизнес-логика
presentation
- UI
- экраны приложения
- взаимодействие пользователя
Для управления состоянием используется Riverpod.
Основные контроллеры:
- TripsController
- BudgetController
- BookingsController
В проекте реализованы unit tests.
Протестированы:
- TripsController
- BudgetController
- BookingsController
- работа Riverpod providers
Тесты проверяют:
- добавление элементов
- обновление данных
- удаление
- корректность состояния
Все тесты запускаются командой flutter test
В проекте используются инструменты качества кода из Flutter.
Используется:
- dart format
- flutter analyze
- линтер
Команда flutter analyze выполняется без ошибок. CI не падает.
APK приложения можно скачать по ссылке: https://disk.360.yandex.ru/d/_v6DwTx-ho2QzA
Также, можно использовать команду flutter run