Мобильное приложение для школы футбола Ball In Goal

Клиент: BALL IN LLC

Ball In Goal

Мобильное приложение
для школы футбола Ball In Goal

Ball In Goal — это мобильное приложение с пошаговыми видеоуроками и инструкциями от действующих и бывших спортсменов и тренеров.
Оно рассчитано на игроков и любителей футбола любого уровня со всего мира. Владелец Ball In Goal и автор курса — известный футболист Кирилл Комбаров
Ни одна тренировка не повторяется: алгоритм каждый раз генерирует новую последовательность упражнений специально под уровень пользователя.
И это один из основных инструментов для удержания внимания аудитории
Приложение доступно на трёх языках: английском, русском, испанском

Задача

Разработать мобильное приложение с тренировками, курсами и челленджами. Нужно было:
Внедрить две платных подписки
Добавить видеоуроки, предоставленные клиентом
Продумать алгоритм тренировок и логику других активностей — для удержания интереса пользователей
Разработать приложение для Apple Watch

Результат

Разработали мобильное приложение для тренировок и челленджей
01
Создали алгоритм, который генерирует тренировки под уровень каждого пользователя
02
Продумали логику соревнований, системы бонусов, рейтинга и других вовлечений
03
Создали приложение для Apple Watch
04
Разработали UX и UI, иллюстрации, иконки

Дизайн

Концепция дизайна основана на фирменном стиле проекта
Логотип Ball In Goal — летящий мяч — представлен на заставке и иконках
Основной цвет — зелёный.
Это фирменный цвет клиента, который также ассоциируется с футбольным полем
Для разных состояний экранов и слайдов онбординга мы создали иллюстрации. Также отрисовали сет иконок, наша особенная гордость — максимально детализированная иконка футбольного поля
При проектировании интерфейса тренировок наши дизайнеры свели ручное управление к минимуму, чтобы игрокам не приходилось пользоваться смартфоном во время подходов.
Также они добавили функцию отсчёта подходов и отдыха — она запускается сразу после начала упражнения

Регистрация

При регистрации пользователь заполняет анкету, указывает свой уровень и цель тренировок. После этого приложение подбирает курсы и тренировки специально под него

Профиль игрока

В профиле игрока можно:
  • Посмотреть статистику, место в рейтинге, количество бонусов
  • Заполнить или отредактировать анкету
  • Изменить язык, единицы измерения, длительность перерывов
  • Подключиться к Здоровью (в iOS-версии)
  • Добавить фото и ссылки на соцсети
  • Добавить фото и ссылки на соцсети
  • Заполнить или отредактировать анкету
  • Изменить язык, единицы измерения, длительность перерывов
  • Подключиться к Здоровью (в iOS-версии)
  • Посмотреть статистику, место в рейтинге, количество бонусов
Другие пользователи видят в профиле игрока:
01
Фото
02
Соцсети, контакты, статистику
(если игрок разрешил публичный просмотр)
03
Место в сезоне и общем рейтинге, очки, принадлежность к лиге и место в ней, список достижений в челленджах и других событиях

Тренировки, курсы, ивенты, челленджи

Каждая тренировка, курс, ивент и челлендж рассчитаны под один из трёх уровней — начальный, средний или продвинутый.

Тренировки

Каждая тренировка состоит из комплекса упражнений.
Сейчас в приложении собраны 800+ упражнений на совершенствование разных навыков
  • Принцип обучения: пользователь просматривает видеоурок и повторяет упражнение. Упражнения адаптированы под любые условия: дом, двор, спортивная площадка
  • За одну тренировку игрок оттачивает один навык. Всего 12 навыков: ловкость, сила, вратарское мастерство и т. д.
  • Ни одна тренировка не повторяется: последовательность упражнений под каждую генерируется с нуля
  • Каждый день алгоритм генерирует 12 тренировок — под совершенствование каждого навыка. Алгоритм учитывает инвентарь, связанные упражнения, время выполнения, количество повторов и другие характеристики
  • Тренировки можно проходить в любое время

Курсы

Любой курс состоит из нескольких занятий, во время которых пользователь совершенствует сразу несколько навыков.
Сейчас в приложении собраны 20+ курсов
  • Генерацию курсов запускают сами Ball In Goal в административной панели: указывают, какие навыки пользователь будет совершенствовать и выбирают длительность курса
  • Любой сгенерированный курс можно отредактировать вручную: изменить порядок упражнений, длительность курса и т. д.
  • Курсы идут по расписанию. Расписание составляет сам игрок: например, он может пройти недельный курс за 7 дней, а может — за две с половины недели, разбив занятия на несколько дней
  • Ball In Goal могут в любой момент запустить новый курс или архивировать старый

Ивенты

Генерацию ивентов, как и курсов, запускают сами Ball In Goal
  • Участники ивента выполняют задания. Обычно это небольшие задания, например, «Посетите футбольный матч. Подтвердите геопозицию во время матча» или «Сделайте селфи на футбольном матче»
  • Ивенты проходят только в определённые дни и ограничены по времени
  • В конце ивента формируется рейтинг. Победители получают бонусы

Челленджи

Их могут запускать не только Ball In Goal, но и сами пользователи. Если модераторы одобрят челлендж — он появится в приложении
  • Челлендж состоит из нескольких занятий, подобранных его создателем
  • Он, как и ивент, ограничен по времени
  • У каждого челленджа — свои правила, расписание и критерии для участия. Их также выбирает создатель
  • В конце каждого челленджа формируется рейтинг игроков

Беговые тренировки

Это бесплатные тренировки — для их прохождения не нужно приобретать подписку
Немного инсайда: проверять беговые тренировки на баги было интереснее всего — для этого наши тестировщики наматывали круги вокруг офиса ☺️

Медитация

В приложении также есть ментальные упражнения для улучшения сна, расслабления тела, восстановления духа и другие. Чтобы прослушивать медитацию необязательно оставаться в Ball In Goal — она не прервётся, даже если свернуть приложение и заблокировать экран

Рейтинг, статистика, бонусы

Рейтинг

В приложении есть три лиги, рассчитанные под разные уровни игроков: «Начальная», «Средняя», «Высшая». В каждой лиге — свой рейтинг

Статистика

Пользователь может в любой момент посмотреть свой прогресс

Бонусы

Игроки зарабатывают бонусы после прохождения тренировки, курса и челленджа. Бонусы можно использовать для покупки спортивного инвентаря в магазине

Магазин

Магазин — раздел для российского рынка, в котором игрок может приобрести на заработанные баллы промокоды в магазине спортивной экипировки и инвентаря JAKO.
В следующих версиях приложения — расширение ассортимента товаров и интеграции с локальными спортивными магазинами других стран

Платная подписка

Пользователь может приобрести подписку на месяц или год. После покупки он получает триал-период: 7 или 14 дней бесплатно. Стоимость зависит от страны и налога Apple Store и Google Play
Немного инсайда: подписка стала одной из самых непростых задач на проекте, мы впервые внедряли её в новых геополитических условиях.
Так, например, при тестировании в Google Play мы использовали аккаунт другой страны, потому что площадка блокирует российские. Вдобавок требования Apple Store и Google Play в принципе регулярно усложняются, но мы уже давно знаем, как действовать в таких ситуациях

Приложение Apple Watch

В приложении можно выбрать и запустить курсы, тренировки, медитации
01
Часы синхронизируются с мобильным приложением на смартфоне: можно включить тренировку на iPhone и продолжить её на Apple Watch. Особенно удобно для тех, кто занимается на футбольном поле
02
В приложении отображается счётчик подходов и времени отдыха

Особенности проекта

По закону данные российских пользователей должны храниться на российских серверах, поэтому мы использовали два сервера: один в России, а второй — в Америке, для аудитории других страны. По этой же причине подключили два разных SMS-сервиса

Стэк

Backend-разработка

Среда разработки
JetBrains PyCharm
Языки
Python
Архитектурный стиль
RESTful API
Технологии
MVC
База данных
django
djangorestframework
Очередь задач
Celery
Контейнеризация
Docker (compose)
Документация
OpenAPIInsomnia
СУБД
PostgreSQLRedis
Система контроля версий
GitGitLab
Брокер сообщений
RabbitMQ

iOS-разработка

Среда разработки
Xcode
Языки
Swift 5
Технологии
UIKitSwiftUI
Dependency Injection
Архитектура
MVVM
Фреймворки
SnapKit
DITranquillity
RouteComposer
RxSwiftAlamofire
PulseLottieNuke
Система контроля версий
Git
Система сборки
Tuist

Android-разработка

Среда разработки
Android Studio
Языки
Kotlin
База данных
Data Store
Технологии
Jetpack Compose
MCoroutines
Kotlinx Serialization
Фреймворки
Dagger 2
Библиотеки
LottieCoil
Jetpack Navigation
RetrofitOkHttp
Chucker
OpenStreetMap
Media3
Система контроля версий
Git
Система сборки
Gradle

Статистика проекта

Менеджеры проекта
550 часов
Аналитики
350 часов
UX/UI-дизайнеры
655 часов
iOS-разработчики
2500 часов
Android-разработчики
2500 часов
Backend-разработчики
1411 часов
Контент-менеджер
165 часов
QA-инженеры
696 часов

Spider Group специализируется на разработке мобильных приложений, сайтов, CRM-систем и серверной логики, внедрении AI, а также создании дополненной реальности и интернета вещей разработке мобильных приложений, веба, серверных проектов, дополненной реальности, искусственного интеллекта и Интернета вещей.