Похожие презентации:
Stride_%D0%BF%D1%80%D0%B5%D0%B7%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F
1.
StrideМобильное приложение для бегунов
с трекингом тренировок, аналитикой и
голосовым сопровождением
Android
Flutter / Dart
SQLite
Платформа
Стек
Хранение
Главный экран
Курсовой проект • А.М. Круглов • П-21
2.
Stride02
Актуальность проекта
Проблема: данные есть, но они
разрознены
Бегуну нужен один простой инструмент без лишней перегрузки
До приложения
Во время тренировки
После тренировки
Таймер отдельно, заметки отдельно,
карта отдельно. Чтобы понять
прогресс, данные приходится
собирать вручную.
Пользователю неудобно постоянно
смотреть на экран: важны крупные
показатели и голосовые подсказки.
Нужна история, сводка и динамика:
дистанция, время, темп, шаги и
сравнение результатов.
Stride объединяет трекинг, дневник тренировок и простую
аналитику
3.
Stride03
Цель и задачи
Цель: рабочее Android-приложение для учета
беговых тренировок
Основной результат — приложение, пригодное для демонстрации и дальнейшего
расширения
1
Изучить
сценарии
беговых
тренировок
2
Сформулирова
ть
функциональн
ые требования
3
Сравнить
существую
щие
решения
4
Спроектирова
ть интерфейс,
данные и
алгоритмы
5
Реализовать
приложение и
проверить
результат
Акцент проекта: простой интерфейс + локальные данные +
голосовые подсказки
4.
Stride04
Пользовательский сценарий
Логика работы построена вокруг одной
тренировки
От быстрого запуска до сохранения результата и анализа
Старт
Разрешения
GPS + шаги
Пауза / финиш
Сохранение
Аналитика
пользователь запускает тренировку
система собирает показатели
результат попадает в историю
аналитика строится по сохраненным данным
5.
Stride05
Сравнение с аналогами
Stride не пытается заменить большие
экосистемы
Задача первой версии — закрыть основные функции без лишней сложности
Strava
adidas Running
сильная аналитика и
сообщество, но много онлайнфункций
челленджи и тренировки, но
часть функций избыточна
Nike Run Club
Samsung Health
аудиоподсказки и планы, но
привязка к экосистеме
широкий контроль здоровья,
но не только бег
Stride
локальное хранение
без обязательной
регистрации
быстрый запуск
история + аналитика
голосовые уведомления
6.
Stride06
Архитектура и стек
Проект разделен на экраны, модели, сервисы и
виджеты
Так код проще сопровождать и расширять
SQLite
Flutter UI
MainShell
Services
экраны, навигация,
темы, карточки
показателей
загрузка данных,
вкладки, передача
настроек и тренировок
GPS, шагомер, TTS,
foreground, база
данных
история
тренировок
Android APIs
датчики, разрешения,
уведомления
Dart
Flutter
geolocator
pedometer
flutter_tts
SharedPreference
s
Язык
UI
Геолокация
Шаги
Голос
Настройки
7.
Stride07
Организация данных
Главная сущность — завершенная тренировка
Workout
База хранит результаты, настройки вынесены отдельно
SQLite: workouts
SharedPreferences
Временное состояние
id
customTitle
titleType
activityType
date
durationSeconds
distanceKm
steps
язык интерфейса
единицы измерения
тема оформления
голос и интервалы
цели тренировки
таймер
последняя GPS-точка
текущая дистанция
скорость
шаги
статус тренировки
Разделение данных помогает не смешивать постоянную историю, настройки
и текущий процесс записи.
8.
Stride08
Алгоритмы работы
Трекинг строится на GPS, шагомере и фильтрации
ошибок
Цель — считать движение, а не погрешности датчиков
GPS-точки последовательно сравниваются между собой
микросмещения и резкие скачки не прибавляются к дистанции
шаги берутся с датчика или рассчитываются по дистанции
голосовые фразы срабатывают по времени или расстоянию
шаги = метры / 0,75
Резервная формула
9.
Stride09
Интерфейс
Интерфейс сделан под использование “на
ходу”
Крупные показатели, простая навигация, минимум лишних действий
Навигация
Основные разделы доступны через
нижнюю панель: главная,
тренировка, история, аналитика,
настройки.
Состояние вкладок
IndexedStack сохраняет текущий
экран, поэтому активная
тренировка не сбрасывается при
переходах.
Главный
Тренировка
История
Настройки
Визуальный стиль: темная спортивная основа + контрастный акцент
10.
Stride10
Активная тренировка
Главный экран процесса — тренировка в реальном
времени
Таймер, дистанция, темп, скорость, шаги, цель и управление
кнопки: старт, пауза, продолжить, финиш
foreground-уведомление работает при сворачивании
из уведомления можно поставить паузу или завершить
после финиша формируется итоговая запись
Уведомление
Запись
Сохранение
TTS по времени / дистанции
Голос
11.
Stride11
История и аналитика
Сохраненные тренировки превращаются в
статистику
Пользователь видит не только отдельный результат, но и динамику
история сортируется от новых тренировок к старым
детальная карточка показывает основные и дополнительные
показатели
аналитика фильтруется по неделе, месяцу, году или всему
времени
графики показывают дистанцию, темп и шаги
История
Детали
Аналитика
12.
Stride12
Результат разработки
Основные требования курсового проекта
выполнены
Приложение собирается в release APK и запускается на Android
старт / пауза / продолжение / финиш
расчет времени, дистанции, темпа, скорости и шагов
локальное сохранение тренировок в SQLite
история и детальный экран
аналитика с периодами и графиками
release APK
Сборка
локально
Хранение
голосовое сопровождение через Text-to-Speech
foreground-уведомление активной тренировки
рабочая учебная версия
настройки языка, единиц, тем, голоса и целей
Статус
Ограничение первой версии: линия маршрута на карте не реализована полностью
13.
Stride13
Развитие проекта
Что можно улучшить дальше
Первая версия закрывает базовый сценарий, дальше можно усиливать практическую
ценность
Карта маршрута
Экспорт
Облако
отображение линии пробежки
после завершения тренировки
выгрузка тренировок в файл или
внешние сервисы
синхронизация между
устройствами и резервное
копирование
Профиль
Напоминания
Фон
личные параметры, длина шага,
цели и прогресс
план тренировок и уведомления
о регулярности
более устойчивый автономный
трекинг при ограничениях Android
Эти пункты можно рассматривать как направления дальнейшей разработки после защиты.
14.
Stride14
Завершение
Цель достигнута
Stride реализует основной сценарий бегового
трекера: запуск тренировки, сбор показателей,
сохранение истории, аналитику и голосовое
сопровождение.
один инструмент вместо
разрозненного учета
работа без обязательного
сервера
понятная структура
проекта
Практичность
Автономность
Расширяемость
Аналитика
Спасибо за внимание