MindCheck - приложение для систем iOS и Android, написанное на фреймворке Flutter. Приложение позволяет пользователям регистрироваться и проходить психологические тесты и практики. Результаты чекапов, тестов и других активностей сохраняются в профиле пользователя. Для напоминаний о предстоящих тестах или необходимости пройти очередной чекап предусмотрены локальные уведомления.
Приложение сверстано согласно мокапам в Figma, всего в приложение порядка 25 различных экранов:
Приложение содержит несколько вкладок, каждая из которых имеет собственную ветвь навигации (пакет Go Router). В Bottom Navigation Bar находится вырез под Floating Button, из которого с плавной анимацией раскрывается меню.
Лента представляет собой список карточек, которые меняются в зависимости от опытности и заинтересованности пользователя. В нее динамически выводится расписание пользователя, исходя из тех активностей, на которые он подписан.
Данные экраны представляют собой список соответствующих активностей. В них есть фильтрация, различные по дизайну карточки, а также динамические баннеры с deeplink на соответствующие страницы приложения.
Техники и Практики могут быть двух типов в зависимости от контента. При заходе в Технику/Практику автоматически открывается нужный плеер с функционалом для управления воспроизведением. Если свернуть приложение на странице Аудиоплеера, то воспроизведение продолжится в фоновом режиме и в системный статусбар будет выведено соотвествующее уведомление.
Данные экраны имееют расширенный AppBar (SliverAppBar), который адаптивно сворачивается при прокручивании страницы.
Графики сделаны при помощи пакета fl_chart, а также отрисованы в векторе на CustomPaint.
Кастомизированный календарь table_calandar позволяет хранить всю историю пользователя и добавлять новые события.
Анимированный виджет дыхания - анимация Lottie. Скорость и длительность анимации управляется в коде - в зависимости от выбранной схемы дыхания.
Профиль пользователя позволяет делать все необходимые действия - выбрать и вырезать аватар, выполнить настройки уведомлений и получить нужную информацию.
В приложении также реализованы: нативный splash-screen, экраны welcome и loading, раличные формы записи к специалистам...
-
Приложение опубликовано в AppStore App Store
-
Приложение опубликовано в Google Play Google Play
- State Manager - BLoC и Provider
- Навигация - GoRouter
- Dependency Injections - GetIt
- Hive - медиатор для временного хранения некоторых данных
- Deeplinks для открытия разделов приложения из баннеров и советов
- Локализация - Easy Localization, поддержка двух языков
- Графики - fl_chart и отрисованные на CustomPaint
- Видео на полный экран - Chewie
- Фоновое аудио - Just_Audio
- Уведомления - flutter_local_notifications
- Кэш для изображений - cached_network_image
- В качестве серверной части используются сервисы Google Firebase: модули Auth, Firestore и Storage.
- Через Firestore реализована полная синхронизация учетной записи пользователя между разными устройствами.
My LinkedIn: Pavel Mavrin










