ТЕХНІЧНЕ ЗАВДАННЯ Назва проєкту (робоча): Sports Motivation Platform Версія: MVP 1.0 Формат: Web-застосунок (адаптивний під мобільні пристрої)1. Загальна концепція Платформа для фітнес-клубів і групових тренувань. Мета MVP: Створити систему мотивації учасників групи Реалізувати цифрового персонажа («Боєць») Впровадити систему статусів і XP Організувати взаємодію тренер → учасник → батько/мати Автоматизувати мотиваційні сповіщення через Facebook Messenger2. Ролі користувачів2.1. Суперадміністратор платформи Повний доступ до всіх даних. Права: Керування всіма користувачами Керування тренерами Керування групами Перегляд усієї статистики Редагування шаблонів AI-повідомлень Керування вагою статусів за замовчуванням2.2. Тренер2.2.1. Профіль тренера (закритий, не видимий іншим користувачам) Можливості: Створення груп Видалення груп Перегляд списку учасників групи Підтвердження заявок на вступ Видалення учасників із групи Налаштування XP для кожного статусу Проставлення статусів учасникам після тренування2.3. Учасник (дитина / спортсмен) Можливості: Авторизація Перегляд свого профілю Перегляд рейтингу групи Перегляд розкладу Редагування імені2.4. Батько / мати Прив’язується до акаунта дитини (лише якщо група позначена як «дитяча»). Можливості: Перегляд профілю дитини Перегляд рейтингу Отримання сповіщень у WhatsApp Не може змінювати дані2.5. (Майбутній етап) Адміністратор клубу Керує кількома тренерами Купує ліцензію для клубу Переглядає аналітику по тренерах (НЕ входить до MVP 1.0)3. Авторизація3.1. Перший екран Splash-екран платформи Кнопка авторизації3.2. Способи авторизації: Google OAuth Facebook OAuth За посиланням-запрошенням За QR-кодом3.3. Логіка вступу до групи Користувач авторизується Обирає групу (або переходить за запрошенням) Тренер отримує сповіщення про запит Тренер підтверджує Користувач автоматично додається до групи4. Структура інтерфейсу (для користувача) Після входу доступні 3 екрани:4.1. Екран №1 — Профіль «Боєць» Містить: Згенерованого персонажа (аватар) Ім’я Поточний XP Рівень Отримані статуси Прогрес-бар до наступного рівня4.2. Екран №2 — Рейтинг групи Відображається: Список карток усіх учасників Ім’я Рівень XP Візуальний ранг UX-анімація: При натисканні на картку: Інші картки роз’їжджаються вгору/вниз Обрана картка збільшується Показується: Детальна статистика Отримані статуси Історія досягнень4.3. Екран №3 — Розклад Список найближчих тренувань Дата Час Назва групи (Простий список без складної логіки в MVP)5. Система статусів5.1. Статуси (MVP) Приклади: Король тренування Наполегливість Найкраща фізична підготовка Прорив Характер (Кількість обмежена 5–7 статусами)5.2. Механіка проставлення Після тренування тренер: Відкриває групу Бачить список учасників Швидко призначає статуси (1–3 на учасника)5.3. XP Кожен статус має: Назву Вагу (XP) Тренер може: Змінювати XP для статусів Налаштовувати ваги індивідуально XP впливає на: Рівень Позицію в рейтингу6. AI-генерація повідомлень6.1. Логіка Коли тренер призначає статус: Система фіксує подію Через заданий інтервал (наприклад, 5–15 хвилин) Генерується AI-повідомлення6.2. Приклад повідомлення Якщо статус: «Король тренування» AI генерує: Вітаємо! Сьогодні Артем показав видатний результат і став найкращим на тренуванні. Тренер відзначив його як «Король тренування». Пишаємося його прогресом!6.3. Канал надсилання Facebook Messenger Надсилається батькам (якщо група дитяча) Якщо дорослий учасник — самому учаснику7. Групи Кожна група має: Назву Тип (дитяча / доросла) Тренера Список учасників Таблицю рейтингу8. Логіка XP і рівнів XP накопичується При досягненні порогу → новий рівень Рівень впливає на: Візуальний ранг Позицію в рейтингу9. Обмеження MVP У першій версії НЕ реалізуються: Платежі CRM-функції Керування абонементами Вбудований месенджер Турніри Внутрішня валюта Скіни (можна передбачити архітектурно)10. Архітектурні вимоги