Перейти к содержимому
Andreja Zubac
Все проекты

Мобильное приложение

Rolla One

Приложение для здоровья и фитнеса с отслеживанием активности в реальном времени через носимые устройства и тренажёрные датчики по Bluetooth LE, а также GPS.

Компания
Rolla
Период
2024 – 2025
Стек
  • Flutter
  • Dart
  • BLoC / Cubit
  • Kotlin
  • Bluetooth LE
  • Platform channels
  • GPS
Три экрана Rolla: дашборд оценки здоровья, графики показателей здоровья и тренировка-ходьба в реальном времени

Обзор

Rolla One — приложение для здоровья и фитнеса, которое я разработал с нуля и довёл до релиза. Оно отслеживает активность в реальном времени по данным подключённых устройств и GPS, рассчитывает показатели тренировок и визуализирует историю активности.

Моя роль

Flutter-разработчик в Rolla: отвечал за приложение от первого коммита до production, включая нативный Bluetooth-слой.

Задача

Данные о тренировке поступают с нескольких независимых устройств (браслета-пульсометра, датчиков беговой дорожки и велотренажёра) и с GPS. Каждое устройство нужно обнаружить, подключить и удерживать соединение на протяжении всей тренировки, в том числе в фоне, а сырые данные — объединить в единый согласованный поток.

Решение

Я спроектировал слой BLE-взаимодействия на Kotlin и предоставил его Flutter через platform channels. Он отвечает за сканирование и обнаружение устройств, управление подключениями, логику переподключения, работу в фоне и восстановление состояния. Сырые данные датчиков преобразуются в единый поток активности в реальном времени, который использует Flutter-слой.

Архитектура и реализация

  • Нативный BLE-слой на Kotlin с логикой переподключения и восстановлением состояния.
  • Парсинг сырых данных датчиков разных типов устройств в единый поток активности.
  • Расчёт калорий и показателей тренировки на основе объединённых данных датчиков и GPS.

Ключевые функции

  • Отслеживание активности в реальном времени
  • Поддержка браслета-пульсометра, датчиков беговой дорожки и велотренажёра
  • Графики временных рядов для истории активности
  • Многоязычный интерфейс: английский, сербский и русский

Скриншоты

Главный экран с оценкой здоровья, рекомендациями и готовностью рядом с браслетом Rolla
Карточка персональной рекомендации с советами по тренировке
Оценка здоровья с графиками пульса, сна, HRV, шагов и калорий
Тренировка-ходьба в реальном времени с пульсовой зоной, дистанцией, темпом и калориями

Результаты

  • Выпущено в production и передано в виде стабильной, задокументированной кодовой базы.