Аэробия интерфейс спорт-трекера

Аэробия интерфейс спорт-трекера

«Аэробия» — это первый спортивный трекер в Рунете. С его помощью можно записывать тренировки, анализировать свои результаты, писать отчеты и просто общаться с единомышленниками.
Пользователя встречает лендинг с короткой демонстрацией возможностей сервиса.
Лендинг
Мы проработали несколько вариантов лендинга и остановились на самом лаконичном — именно он более остальных побуждал пользователя зарегистрироваться и изучить сервис подробнее.
Лента
Это главный экран, пульс «Аэробии». Здесь собраны лента тренировок и записей друзей, текущая статистика, позиция в рейтинге, обновления в спортивных клубах, инвентарь и многое другое.
Тренировка
Календарь тренировок помогает трезво оценивать ваши успехи. Месячное расписание дает возможность быстро оценить уровень прогресса, проследить весь тренировочный цикл и спланировать будущие занятия.

Тренировки, подразумевающие маршрут, отображаются на карте. Можно выбрать отображение через Google Maps, Яндекс.Карты или «народный» Open Street Map.
Это самый сложный и обновляемый модуль. Помимо получения данных о тренировках с мобильных приложений, на проекте есть импорт файлов GPX, TCX и FIT форматов. Многие трекеры Garmin, Polar, Suunto и тд. по-разному структурируют информацию, и мы буквально под каждый сервис создавали алгоритм чтения данных.

Трудозатратным является также вычисление данных о скорости, паузах и высотах в тренировках. Из-за скачков GPS данных мы столкнулись с тем, что для каждого вида спорта необходимо было вручную устанавливать их погрешность.
Инвентарь
Пользователь может собрать свою витрину используемого инвентаря: кроссовки, велосипеды, гаджеты, одежда и тд. По всем позициям можно отслеживать статистику и тренировки, на которых они были использованы.
Инвентарь
Каждая позиция имеет свою страницу, где можно написать рассказ о приобретении и использовании, получить комментарии и одобрения пользователей.
Статистика
Результат — двигатель прогресса. Подробная статистика, которая учитывает буквально все: ритм сердца, дистанцию, среднюю скорость, сгоревшие калории, общее количество тренировок.

Важно, что под статистику попадает не только это, но и вид спорта, которым вы занимались.
Сравнение
Более того, пользователь имеет возможность сравнить свои результаты с любым участником проекта: профессиональным спортсменом или соседом любителем.
Сервер на лету ведет статистику, здесь требовалась постоянная доработка, учитывая масштабирование и прирост пользователей. Каждый трекер в мире самостоятельно придумывает формулы, по которым способен вычислять показатели скоростей, высот, авто-пауз и тд. Поэтому нам приходилось сравнивать данные со сторонними сервисами, которые мы используем как ориентир.

Согласитесь, пользователю будет странно видеть расхождения данных между нашим сервисом, и, к примеру, Garmin Connect. Эти формулы и данные мы корректировали на протяжении всей жизни проекта.
Люди
Проект имеет аудиторию более 50 000 человек, для интерактивной составляющей мы нанесли на карту самых активных в течение последних суток.
Топ рекордов
Сервис автоматически регистрирует спортивные рекорды пользователей. Все данные собираются в единый топ, где каждый пользователь может сравнивать свои результаты с другими участниками. Что приятно, первые места занимают профессиональный спортсмены-участники «Аэробии».

Полумарафон за 1 ч 09 м 10 сек!
Рекорды — одна из фишек сервиса. Всем интересно знать, кто бегает или едет на велосипеде быстрее всех.

Чтобы поддерживать этот модуль, мы сделали двухфакторную проверку рекордов: первый — системный, второй — человеческий. Для второго мы привлекли модераторов среди пользователей и дали им права на отмену фальшивых рекордов. Также эта статистика дала нам возможность корректировки существующих данных для подсчета рекордов и избежания ошибок.
Клубы
Пользователи могут объединяться в тематические клубы. Проект насчитывает более 300 клубов по видам спорта, городам, интересам и тд.
Клуб
Каждый клуб имеет страницу с собственным оформлением, лентой тренировок, записей и статистикой. Участники могут соревноваться с другими клубами в различных спортивных дисциплинах.
На будущее у нас была задумка использовать эти клубы в качестве официальных страниц брендов или компаний, со своей лентой и участниками.
Соревнования
Любители спорта могут создавать собственные виртуальные соревнования. Например: кто первый проедет 500 км за неделю или кто быстрее пробежит 10 км, или кто поставит рекорд на определенной дистанции за месяц.

Достаточно лишь нажать кнопку участия и данные ваших тренировок будут учитываться в общем зачете. По окончании соревнования строится единый топ результатов и приходит сообщение о занятой позиции.
Сложности были в том моменте, когда участники покидали соревнование — приходилось весь топ пересчитывать и обновлять позиции участников.

Мы храним архив прошедших соревнований с рейтингом и местами. Подводными камнями были, например, такие ситуации:человек либо уходил с проекта, либо добавлял новые тренировки в даты соревнований, что искажало рейтинг и требовало фиксации данных на момент финиша соревнований.
События
Это коллективный календарь спортивных мероприятий. Пользователи самостоятельно добавляют спортивные события и регистрируются (чекинятся), участвуя в них. Тем самым у пользователя создается история соревнования, в котором он участвовал.
Событие
Каждое события имеет свою страницу с описанием, местом проведения и возможностью обсуждения. Что интересно — по окончании события система автоматически сканирует тренировки участников и формирует отдельную закладку, где можно видеть их результаты.
Основной функционал проекта разрабатывался в течение года и включал в себя множество технических особенностей, интеграций со сторонними API и бесконечное количество часов тестирования и отладок.