Skip to content

Repository files navigation

TripSync


Косталевский Даниил, БПИ-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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages