MotherFit

Дизайн и разработка кроссплатформенного приложения для здоровья будущих мам

Платформа
iOS
Android
VK mini app
Web
Год работы
2023-2024
О проекте
Стек технологий
Spring Boot
Java
Flutter
Flutter BLoC
PostgreSQL
Yandex S3
Keycloak
Услуги
СTO для стартапов
UX/UI дизайн
Разработка

MotherFit – это приложение с гимнастическими упражнениями для беременных женщин

Основательница MotherFit Диана Дуглас обратилась с идеей создать личного помощника, который будет контролировать безопасность выполнения упражнений с помощью мониторинга показателей пульса, а также помогать в течение всей беременности рекомендациями по питанию и выстраиванию гармоничных семейных отношений.
Команде 7bits предстояло разработать версию приложения для iOS, а также выйти на новые платформы Android, web и VK mini app.
Опубликовать приложение в каталоги: VK mini apps, App Store, Google Play
Разработать раздел со статьями о питании и семейных отношениях
Добавить детализированную статистику выполнения упражнений
Интегрировать сервис психологической поддержки «Буду Рядом»
Добавить детализированную статистику выполнения упражнений
Опубликовать приложение в каталоги: VK mini apps, App Store, Google Play
Получить данные пульса со смарт-часов во время выполнения тренировки

Разработать алгоритм рекомендаций интенсивности тренировок на основе данных пульса

Интегрировать сервис психологической поддержки «Буду Рядом»
Разработать раздел со статьями о питании и семейных отношениях
Задачи
Обновили визуальный стиль и главный экран, показав все возможности приложения
Навигация по экрану происходит по неделям беременности. Для каждой недели показываются рекомендуемые статьи, направления тренировок и график активности.
Главный экран
Добавили возможность подключения смарт-устройств для мониторинга пульса
Использовали технологию BLE для подключения Android-устройств и разработали собственное приложение для Apple Watch для сбора и передачи данных с устройства.
Интеграция со смарт-часами
Разработали алгоритм для контроля пульса в реальном времени
Во время тренировки приложение следит за тем, чтобы пульс не выходил за безопасные границы. При критическом значении пульса тренировка автоматически приостанавливается, позволяя будущей маме отдохнуть или выполнить восстановительную гимнастику.
Контроль интенсивности тренировок
Повысили информативность статистики по выполнению тренировок
Вся статистика теперь собрана на отдельном экране и позволяет отслеживать динамику выполнения тренировок за неделю беременности или конкретный день.
Отображение статистики
Добавили статьи, которые адаптируются к сроку беременности
Во время онбординга пользовательницы указывают свой срок беременности. Исходя из недели беременности приложение подбирает статьи на темы, которые могут волновать женщин на их сроке.
Статьи о питании и семье
Выполнять тренировки можно прямо внутри социальной сети ВКонтакте на десктопе или мобильном телефоне.
Адаптировали приложение для каталога VK mini apps
VK mini apps
Провели анализ конкурентов, UX-аудит, интервью с представительницами целевой аудитории, спроектировали User Flow и CJM. Создали адаптивный дизайн для разных платформ (iOS, Android, Web, VK Mini App), обеспечив единый стиль и комфортное взаимодействие на любом устройстве. В результате интерфейс стал более интуитивным, визуально легким и дружественным, что повысило удобство работы с приложением.
Дизайн
Frontend
Для клиентской части приложения был выбран Flutter, что позволило создать единую кодовую базу для платформ VK mini Apps, Android и iOS с высокой производительностью и нативным пользовательским интерфейсом. В архитектуре проекта мы использовали подход, основанный на паттерне BLoC (Business Logic Component), который обеспечивает четкое разделение логики и интерфейса.
Flutter
Работа с видео и аудио контентом
В приложении реализован видеоплеер с использованием библиотеки video_player, который поддерживает воспроизведение контента как на нативных платформах iOS и Android, так и в веб-браузерах. Это обеспечивает универсальность и доступность, позволяя пользователям комфортно взаимодействовать с видео независимо от устройства.
Работа с носимыми устройствами
Для получения данных о пульсе с носимых устройств Android в приложении используется библиотека Flutter Blue Plus. Эта библиотека предоставляет возможности для работы с Bluetooth Low Energy (BLE) устройствами, что позволяет подключаться к носимым устройствам и считывать данные о пульсе в реальном времени. С помощью Flutter Blue Plus организовано стабильное соединение с различными BLE-устройствами, обеспечивая пользователям точные и своевременные данные для мониторинга их состояния во время тренировок.
Приложение для WatchOS
Нами было разработано приложение на Swift для WatchOS, предназначенное для отслеживания пульса в реальном времени. Это приложение помогает следить за самочувствием и вовремя выявлять возможные отклонения.
В приложение был интегрирован сервис AdFox от Яндекса для показа рекламы, что позволило гибко управлять рекламными кампаниями.
Подключение рекламы
Backend
Серверная часть MotherFit была разработана на Java с использованием фреймворка Spring Boot, который обеспечивает удобную и гибкую структуру для создания приложений. Благодаря модульности Spring Boot, вся функциональность сервера организована в виде компонентов, что позволяет эффективно разделять логику приложения и переиспользовать код.
Spring Boot
Регистрация и авторизация
Для управления регистрацией и авторизацией мы используем Keycloak — мощное решение с широкими возможностями для обеспечения безопасности приложения. Keycloak предоставляет централизованное управление пользователями, ролями и правами доступа, что упрощает интеграцию с различными клиентскими приложениями и сервисами.
Для хранения данных приложения используем PostgreSQL. Мы используем JSONB, поэтому можем хранить любой набор полей для любого объекта.
Хранение данных
Хранение файлов
Для хранения файлов мы используем Yandex Object Storage с поддержкой протокола S3. Это надёжное и масштабируемое решение позволяет эффективно работать с файлами разных форматов — от изображений для обложек тренировок до видео и аудиофайлов упражнений. Благодаря гибкой архитектуре S3-хранилище легко масштабировать.
QA
(Обеспечение качества)
На проекте был проведен полный цикл работ – от аналитики и тест-дизайна до тестирования ПО и внесения дефектов в систему управления задачами. Описали пользовательские истории и критерии приемки, составили тестовую документацию. Для обеспечения качества ПО провели дымовое, регрессионное, приемочное тестирование, сеансы нагрузочного тестирования с использованием Apache JMeter, а также сервиса Yandex Load Testing в Yandex Cloud Console с генератором нагрузки Yandex Tank.
Сформировали небольшую команду из 5 специалистов. Работа велась по методологии Scrum с двухнедельными спринтами. По итогу спринта демонстрировали заказчику результаты работы и договаривались о целях на следующие спринты. Благодаря такому подходу получалось быстро подстраиваться под цели заказчика и адаптироваться к новым условиям.
Управление проектом
Результат
Реализовали интеграцию с носимыми устройствами, добавили поддержку четырёх платформ и обновили интерфейс. Приложение MotherFit стало полноценным кроссплатформенным продуктом и вошло в число победителей акселератора VK Start Apps.