# Техническое задание Задача 9 Создание мотивационного модуля геймификации для кадровой системы «Алабуги» ## Суть В ОЭЗ «Алабуга» работает более 26 000 сотрудников, и ежемесячно к нам приезжают тысячи кандидатов. Как перед трудоустройством, так и во время работы у специалистов есть определённые задачи, ведущие к достижению их целей. Сейчас задачи приходят разрозненно, из-за чего между ними не хватает общей связи, и нет ощущения, что один шаг сейчас — это большой вклад в будущее. В связи с этим мы хотим разработать геймифицированную платформу, на которой пользователи смогут выполнять различные задачи на любом этапе, отслеживать свой прогресс и видеть, что ещё нужно сделать для достижения цели. ## Тематика Корпоративная культура «Алабуги» всегда учила нас решать сверхзадачи и стремиться к звёздам. На крыше пирамиды одного из офисов «Алабуги» расположен прототип советского орбитального ракетоплана «Буран», напоминая о том, что в каждом из нас живёт частичка ДНК технологических изобретателей. А кроме того, в планах компании на ближайшие 25 лет — начать освоение космоса и колонизацию лун Юпитера. В связи с этим тематику геймифицированной платформы хотелось бы видеть связанной с тематикой космоса, где пользователи проходят путь от космических пилотов-кандидатов до командиров космических подразделений. ## Терминология - Пользователь — кандидат или сотрудник, пользователь платформы. - HR — сотрудник, отвечающий за разработку заданий в платформе. - Организатор — сотрудник, проводящий мероприятие (миссию). - Опыт — очки прогресса, необходимые для повышения ранга. - Мана — очки игровой валюты, за которые можно приобрести определённые бонусы. - Ранг — игровое звание пользователя. Открывает новые задачи и цели. - Артефакты — знаки отличия за миссии. - Компетенции — определённые навыки со шкалами прогресса. ## Основные механики ### Ранги Выполняя различные задачи на всех этапах, пользователи получают опыт и ману, которые повышают их ранг. Ранги расположены в линейной последовательности, и нельзя через них перескакивать. Для повышения ранга есть ### 3 условия: - Первое — достаточное количество опыта, полученного при выполнении заданий. - Второе — выполнение определённых заданий, необходимых для желаемого грейда. - Третье — получение необходимого уровня прокачки конкретных компетенций. > Пример: кандидат хочет получить оффер. Чтобы получить оффер, кандидату необходимо набрать 500 > очков опыта, выполнить задания (загрузка документов, заполнение резюме, выбор направлений) и > прокачать компетенции «Общение» и «Аналитика» до 1 балла. Выполнив все условия, кандидат сможет > получить оффер. Примеры рангов: искатель, разведчик, навигатор, пилот-кандидат, принятый в экипаж, пилот-испытатель, лидер эскадрильи, командир космического поселения и т. д. Со стороны HR необходимо сделать возможность настраивать условия для получения рангов: - Опыт: [NNN] - Ключевые задания: [mission1, mission2] - Уровень компетенций: [competention=N] ### Миссии Миссии — это список заданий, доступных пользователю. Список миссий должен меняться в зависимости от ранга. Открыв миссию, пользователь должен ознакомиться со всеми условиями и иметь возможность перейти к действию. Примеры миссий: сбор документов, заполнение резюме, прохождение бизнес-симуляций, приезд на очный этап, прохождение собеседования, прохождение онбординга, выполнение плана на месяц, участие в ежегодном ассессменте и т. д. Минимальный список параметров для миссии: - Название миссии - Описание миссии - Награда в опыте - Награда в мане - Доступность по рангу - Какие компетенции на сколько прокачиваются - Дополнительно: будет здорово за некоторые миссии выдавать особые награды — артефакты ### Ветвление Миссии должны быть связанными, а не сами по себе. В списке миссий пользователь должен видеть, какие ветви пути у него есть, например: Ветка 1 — Блогерская: - Миссия 1 — пост с фото - Миссия 2 — сторис с хэштегом - Миссия 3 — съёмка видеоблога про компанию Миссии могут делиться по категориям: - Квесты — базовые онлайн и офлайн задачи - Рекрутинг — задания, направленные на привлечение новых кандидатов - Лекторий — задания, направленные на обучение коллег и кандидатов - Симулятор — задания, направленные на проверку знаний, например тесты, соревнования При этом нельзя делать список миссий статичным, так как время, люди, задачи, цели — всё меняется. Соответственно, со стороны HR мы должны иметь возможность создания и редактирования миссий, чтобы поддерживать интересные и актуальные задачи в списке миссий у пользователей. ### Бортовой журнал История действий, прогресса пользователя и рейтинга. Пользователь может видеть свой прогресс, сколько он выполнил и к чему это привело. Также доступен просмотр ТОПов за месяц, неделю или год. ### Навыки Список всех имеющихся компетенций с текущим уровнем прокачки: - Вера в дело - Стремление к большему - Общение - Аналитика - Командование - Юриспруденция - Трёхмерное мышление - Базовая экономика - Основы аэронавигации Прокачивать компетенции можно, выполняя миссии. ### Хранилище Магазин, в котором можно приобрести за ману разнообразный мерч, товары, билеты и прочие бонусы. ### Онбординг Для большего погружения в тематику необходимо не просто выдавать задачи и поощрять баллами, а периодически предоставлять интересные отрывки лора. Онбординг должен рассказывать о работе отдельных блоков на платформе, подкрепляя это интересными научными и историческими фактами о космосе. ### Статистика для HR-специалистов HR-специалистам важно иметь доступ к информации для анализа конверсии выполнения миссий, веток и прогресса пользователей. Если результат миссии можно увидеть удалённо, будет здорово, чтобы пользователи прикрепляли его при закрытии миссии. В таком случае также необходим функционал модерации выполнения заданий. ### Артефакты Артефакты — уникальные награды, которые можно получить за прохождение миссий. Необходим функционал создания артефактов со стороны HR. У артефакта есть атрибуты: - Изображение - Название - Краткое описание - Дополнительно: редкость артефакта ### Наши ресурсы ОЭЗ «Алабуга» [alabuga.ru] - основной сайт компании HR-платформа [hr.alabuga.ru] - основная платформа для авторизации в экосистеме «Алабуги». На этой платформе расположены бизнес-симуляции, в которые играют кандидаты из сотрудники Карьера.100 лидеров [career.alabuga.space] Карьера.Политех [в разработке] Карьера.Старт [в разработке] - платформы для трудоустройства кандидатов. В этих сервисах кандидаты заполняют резюме, документы, проходят симуляции, записываются на очные этапы и проходят собеседования Алга.Алабуга [alga.alabuga.ru] - профориентационные экскурсии, которые запомнятся каждому участнику! ## Программно-аппаратные требования 3.1. Аппаратные требования и подход к разработке Mobile First (для пользователей-сотрудников/кандидатов): интерфейс должен быть адаптирован под мобильные устройства (ширина viewport от 320px). Предполагается, что большинство задач пользователи будут выполнять на ходу: проверять задания, загружать фотоотчёты, тратить ману в магазине. Desktop/Tablet (для HR-специалистов): административный интерфейс для требует большого экрана. создания миссий, отслеживания статистики Минимальная ширина — 1024px. 3.2. Программные требования (стек технологий) Данный стек рекомендованный, но не обязательный. Frontend: Фреймворк: React (предпочтительно с использованием функциональных компонентов и хуков) Язык: TypeScript (строгая типизация критически важна для избежания ошибок в рангах, миссиях и наградах) Стили: CSS-in-JS (Styled-components, Emotion) или modern CSS с модулями. Важно обеспечить тему, легко меняемую под космический стиль Состояние: Redux Toolkit / MobX / Zustand для управления сложным состоянием приложения (ранги, миссии, инвентарь) Роутинг: React Router Backend: Фреймворк: Python + FastAPI (современный, высокопроизводительный) или Django (более богатый из коробки, но тяжелее) База данных: SQLite на время хакатона — для простоты разработки и демонстрации. В продакшене — PostgreSQL Аутентификация: JWT-токены. Необходима интеграция с «hr.alabuga.ru» (на хакатоне можно замокать или использовать простой вход по логину/паролю) Прочее: Контроль версий: Git 4. Требования к презентации/демонстрации Презентация должна быть в формате последовательного пользовательского сценария (User Flow). Цель: показать не набор разрозненных кнопок, а историю одного пользователя. Пример сценария для демонстрации: Кандидат (ранг: «Искатель») заходит на платформу, проходит онбординг. Видит свою цель — «Получить оффер» (требует ранг «Пилот-кандидат»). Переходит в раздел «Миссии», видит доступные ветки: «Рекрутинг» (загрузка резюме, документов) и «Лекторий» (просмотр видео о компании). Выбирает миссию «Загрузить резюме» → загружает файл → получает награду (опыт, мана, прокачка компетенции «Аналитика»). В «Бортовом журнале» видит запись о выполненной миссии и рост progress bar до следующего ранга. После выполнения всех ключевых миссий система автоматически повышает его ранг до «Пилот- кандидат» и выдаёт уведомление об успехе. Пользователь заходит в «Хранилище» и тратит заработанную ману на мерч (например, «Футболка Алабуга» за 100 маны). Для HR: показать один экран создания/редактирования миссии с полями (название, описание, опыт, мана, ранг, компетенции). 5. Требования к сопроводительной документации Краткий документ (README.md в репозитории), описывающий: Команда и роли. Кто за что отвечал. Архитектура. Краткое описание структуры фронтенда и бэкенда (какие основные модули, как взаимодействуют). Реализованные механики. Список того, что получилось сделать (например: «Реализована система рангов с проверкой 3 условий», «Реализован CRUD для миссий со стороны HR»). Что не реализовано и почему. Честность приветствуется. Инструкция по запуску. Как установить зависимости и запустить приложение локально. Ссылки. Ссылка на рабочий демо-сайт, ссылка на репозиторий с кодом. 6. Ресурсы Основные референсы: Предоставлены ниже. В оформлении использовать логотип (из приложенного файла) и брендовые цвета: Ключевые интеграции: “hr.alabuga.ru” -> Аутентификация. “career.alabuga.space” -> Источник задач для кандидатов. Бизнес-симуляции с “hr.alabuga.ru” -> Задачи типа "Симуляция". На хакатоне: Достаточно замокать данные интеграции (например, сделать несколько пользователей в БД и эмулировать успешный возврат с бизнес- симуляции). 7. Требования к сдаче решений 7.1. Промежуточная сдача (Концепт) Визуальный концепт: - Макеты ключевых экранов (как минимум: ЛК пользователя с прогрессом, список миссий, карточка миссии, ЛК HR для создания миссии) в Figma/Adobe XD. - Проработанный космический UI-kit: цветовая палитра, кнопки, типографика, иконки. Предпочтительная реализация ключевых механик: - Работающий фронтенд на React с роутингом между пустыми страницами. - Работающий бэкенд на Python с 2-3 API-эндпоинтами (например, “GET /api/missions”, “POST /api/missions”). - Реализована хотя бы одна сложная механика на выбор: система проверки условий для повышения ранга ИЛИ система ветвления миссий. User Stories в формате: - «Как Кандидат, я хочу видеть свой прогресс в виде progress bar, чтобы понимать, сколько еще нужно сделать для оффера». - «Как HR, я хочу иметь возможность указать награду в мане за миссию, чтобы мотивировать пользователей выполнять ее». 7.2. Финальная сдача Полная реализация одного end-to-end процесса. Например, процесса «Кандидат выполняет миссии для получения оффера»: - Пользователь регистрируется/логинится (мок). - Видит свой текущий ранг и цели. - Выполняет 2-3 связанные миссии из одной ветки (квест + симулятор). - Система начисляет опыт, ману, прокачивает компетенции. - При выполнении всех условий система автоматически повышает ранг пользователя. ● Пользователь видит это изменение в UI (уведомление, изменение в бортовом журнале). - Демонстрация – это сквозной сценарий, а не показ отдельно взятого экрана миссий и отдельно взятого экрана ранга. 8. Критерии оценки (на что делать акцент) 1. Подход коллектива к решению задачи (20%): - Понимание бизнес-цели: Не просто «сделать игру», а «повысить вовлеченность и связанность этапов». - Работа в команде: Использование Git (много мелких коммитов, а не один огромный), распределение задач (Trello/Notion/Kanban-доска).*Желательно - Качество визуального концепта. Умение перенести космическую тему в интерфейс. 2. Техническая проработка решения (30%): - Чистота и структура кода (отступы, именование переменных, компонентный подход). - Архитектурные решения: Как спроектированы модели данных (ранг, миссия, пользователь), API. - Сложность реализованной механики: Реализация системы рангов с тремя условиями будет оценена выше, чем простой линейный прогресс. 3. Соответствие решения поставленной задаче (25%): - Решение решает проблему «разрозненных задач» (ветвление миссий, общая цель). - Учтена тематика космоса (лоре, нейминг, визуал). - Есть разделение на интерфейсы User и HR. 4. Эффективность решения (15%): - Работоспособность: Приложение не падает при базовых сценариях. - Удобство использования (Usability): Понятно ли пользователю,что делать? Ведет ли интерфейс его к цели? 5. Выступление на питч-сессии (10%): - Ясность: Четкое объяснение проблемы и решения. - Убедительность: Акцент на то, как продукт решает боль заказчика. ● Демонстрация: Упор на живой сквозной сценарий, а не на слайды. - Тайминг: Уложиться в отведенное время. Референсы: