Мобильное приложение для школы футбола 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+ упражнений на совершенствование разных навыков
Сейчас в приложении собраны 800+ упражнений на совершенствование разных навыков
- Принцип обучения: пользователь просматривает видеоурок и повторяет упражнение. Упражнения адаптированы под любые условия: дом, двор, спортивная площадка
- За одну тренировку игрок оттачивает один навык. Всего 12 навыков: ловкость, сила, вратарское мастерство и т. д.
- Ни одна тренировка не повторяется: последовательность упражнений под каждую генерируется с нуля
- Каждый день алгоритм генерирует 12 тренировок — под совершенствование каждого навыка. Алгоритм учитывает инвентарь, связанные упражнения, время выполнения, количество повторов и другие характеристики
- Тренировки можно проходить в любое время
Курсы
Любой курс состоит из нескольких занятий, во время которых пользователь совершенствует сразу несколько навыков.
Сейчас в приложении собраны 20+ курсов
Сейчас в приложении собраны 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)
- Документация
-
OpenAPI•Insomnia
- СУБД
-
PostgreSQL•Redis
- Система контроля версий
-
Git•GitLab
- Брокер сообщений
-
RabbitMQ
iOS-разработка
- Среда разработки
-
Xcode
- Языки
-
Swift 5
- Технологии
-
UIKit•SwiftUI•Dependency Injection
- Архитектура
-
MVVM
- Фреймворки
-
SnapKit•DITranquillity•RouteComposer•RxSwift•Alamofire•Pulse•Lottie•Nuke
- Система контроля версий
-
Git
- Система сборки
-
Tuist
Android-разработка
- Среда разработки
-
Android Studio
- Языки
-
Kotlin
- База данных
-
Data Store
- Технологии
-
Jetpack Compose•MCoroutines•Kotlinx Serialization
- Фреймворки
-
Dagger 2
- Библиотеки
-
Lottie•Coil•Jetpack Navigation•Retrofit•OkHttp•Chucker•OpenStreetMap•Media3
- Система контроля версий
-
Git
- Система сборки
-
Gradle
Статистика проекта
- Менеджеры проекта
-
550 часов
- Аналитики
-
350 часов
- UX/UI-дизайнеры
-
655 часов
- iOS-разработчики
-
2500 часов
- Android-разработчики
-
2500 часов
- Backend-разработчики
-
1411 часов
- Контент-менеджер
-
165 часов
- QA-инженеры
-
696 часов
Spider Group специализируется на разработке мобильных приложений, сайтов, CRM-систем и серверной логики, внедрении AI, а также создании дополненной реальности и интернета вещей разработке мобильных приложений, веба, серверных проектов, дополненной реальности, искусственного интеллекта и Интернета вещей.