Skip to content

Damask-asm/hackaton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Город профессий

Полезная фиджитал веб-игра для детей 6-11 лет, разработанная для геймджема VK Education x Учи.ру.

Ссылки для подачи

  • Ссылка на игру: https://city.andrewdev.dev
  • Ссылка на видео-демонстрацию: https://disk.yandex.ru/i/TM2mA2rjnITJcw

Описание идеи и ценности

Проблема

Родители сталкиваются с чрезмерным экранным временем детей и часто не понимают, как мягко перевести ребенка из цифровой среды в полезный офлайн-досуг. При этом родителю важно видеть не абстрактную "активность в приложении", а понятное доказательство пользы: что ребенок сделал, сколько времени провел вне экрана, какие навыки развивал.

Решение

"Город профессий" превращает экран в стартовую точку для действий в реальном мире. Ребенок выбирает профессию, получает игровую задачу, выполняет ее офлайн, подтверждает результат фото или ответом и получает награду. Дальше награда возвращает его в игровой цикл: питомец, комната, скины, декор, сундуки, магазин, рейтинг и профиль.

Почему это будет работать

  • Игра органично работает по принципу фиджитал: задача в веб-игре -> действие в реальном мире -> валидация -> награда.
  • Механики закрывают запросы родителей на творчество, чтение, фотоквесты, физическую активность и полезный досуг.
  • Ребенку интересно за счет понятной игровой мотивации: профессии, XP, монеты, рубины, питомец, скины, комната и рейтинг.
  • Родитель видит пользу через профиль: выполненные задания, минуты вне экрана, прогресс профессий и фото-подтверждения.
  • Фото не раскрываются публично: приватные подтверждения доступны через backend API с проверкой прав, а чужие профили не показывают изображения.
  • Экономика безопасная: игровые валюты зарабатываются действиями, а магазин не построен вокруг агрессивной монетизации.

Стек технологий

Движок и формат

  • Формат: веб-приложение.
  • Игровой движок: кастомная веб-реализация на Vue 3 без Unity/Cocos.
  • Основной интерфейс: mobile-first, рассчитан на телефон ребенка.

Frontend

  • JavaScript
  • Vue 3
  • Vite
  • Vue Router
  • Pinia
  • CSS/Tailwind-подход в стилистике детского игрового интерфейса
  • Vitest для frontend-тестов

Backend

  • Python
  • FastAPI
  • SQLAlchemy
  • Alembic
  • PostgreSQL
  • JWT-аутентификация
  • SQLAdmin для CRUD-админки
  • pytest для backend/API-тестов

Хранилище и инфраструктура

  • MinIO/S3 для фото-подтверждений и ассетов
  • Docker Compose для локального запуска
  • Traefik-ready конфигурация для серверного деплоя
  • Переменные окружения для домена, CORS, S3, админки и лимиты загрузки

Компоненты системы и способ взаимодействия

Frontend

Frontend отвечает за игровой интерфейс:

  • главная страница с объяснением идеи проекта;
  • регистрация и вход;
  • экран задач с фильтрами по профессиям;
  • карточка задания и отправка выполнения;
  • экран награды;
  • питомец с комнатой, скинами, декором, сундуками и бустерами;
  • магазин питомца;
  • профиль игрока с родительской статистикой;
  • рейтинг и публичные профили.

Frontend взаимодействует с backend через REST API. Для защищенных действий используется JWT-токен.

Backend

Backend реализует бизнес-логику:

  • авторизация и пользователи;
  • профессии и задания;
  • отправка и хранение выполнений;
  • начисление XP, монет и рубинов;
  • фото-подтверждения через S3/MinIO;
  • питомец, инвентарь, скины, декор и фоны комнаты;
  • магазин и каталог товаров из базы данных;
  • лидерборд и статистика;
  • SQLAdmin-админка для управления контентом.

PostgreSQL

PostgreSQL хранит:

  • пользователей;
  • профессии;
  • задания;
  • отправки заданий;
  • кошелек игрока;
  • экономические транзакции;
  • питомцев;
  • инвентарь;
  • каталог магазина;
  • офферы;
  • настройки скинов, декора и фонов.

MinIO/S3

S3-совместимое хранилище используется для:

  • фото-подтверждений заданий;
  • загружаемых ассетов;
  • картинок товаров;
  • скинов, декора и фонов комнаты.

Admin

Админка на SQLAdmin позволяет управлять пользователями, заданиями, профессиями, каталогом магазина, офферами, питомцами и визуальными ассетами. Отдельный редактор визуала позволяет подбирать позиции скинов и декора.

Как запустить проект

Требования

  • Docker
  • Docker Compose
  • свободные порты 5173, 8000, 5432, 9000, 9001

Локальный запуск

docker compose up --build -d

После запуска:

  • игра: http://localhost:5173
  • backend health: http://localhost:8000/health
  • API docs: http://localhost:8000/docs
  • админка: http://localhost:5173/admin
  • MinIO console: http://localhost:9001

Локальные доступы

Админка:

  • login: admin
  • password: admin12345

MinIO:

  • login: minioadmin
  • password: minioadmin

Проверка запуска

docker compose ps
curl http://localhost:8000/health

Ожидаемый ответ backend:

{"status":"ok"}

Остановка

docker compose down

Не использовать docker compose down -v, если нужно сохранить пользователей и данные PostgreSQL.

Что посмотреть в демо

  1. Главная страница объясняет идею: экранное время превращается в полезные офлайн-действия.
  2. Ребенок входит в игру и видит нижнюю навигацию.
  3. В задачах выбирает профессию и открывает миссию.
  4. Выполняет задание, прикрепляет фото или ответ и получает награду.
  5. Награда влияет на XP, монеты, рубины и питомца.
  6. В питомце можно видеть комнату, скины, декор, сундуки и бустеры.
  7. В магазине товары покупаются за игровую валюту.
  8. В профиле родитель видит статистику пользы: задания, минуты вне экрана, прогресс и подтверждения.
  9. В рейтинге виден прогресс игроков без раскрытия чужих приватных фото.

Текущий статус

Проект является рабочим MVP: есть frontend, backend, база данных, S3-хранилище, авторизация, игровой цикл, питомец, магазин, профиль, рейтинг, админка, Docker Compose, тесты и документация.

Что можно реализовать дальше - мы уже знаем, как это сделать:

AR и камера

  • Настоящий AR-выгул питомца через камеру телефона.
  • AR-фотоквесты: ребенок ищет реальные объекты, наводит камеру и получает игровые подсказки.
  • Распознавание объектов вокруг ребенка: растения, книги, спортивные предметы, поделки, рисунки.
  • Камерные задания с интерактивными подсказками: куда поставить предмет, что найти, как повторить движение.

Оживление детских работ

  • Оживление рисунков: ребенок загружает рисунок, а игра превращает его в персонажа, декор комнаты или временного помощника.
  • Оживление поделок: фото поделки становится игровым предметом или трофеем.
  • Создание сказок по рисункам: ребенок рисует героя, а система помогает собрать короткую историю.
  • Галерея творчества: работы ребенка сохраняются как коллекция достижений.

ИИ-проверка и персонализация

  • Более точная AI-валидация фото-подтверждений.
  • Проверка чтения вслух и мягкая обратная связь по прогрессу.
  • Адаптация сложности заданий под возраст и интересы ребенка.
  • Рекомендации новых миссий на основе любимых профессий и выполненных активностей.

Развитие игрового цикла

  • Сюжетные цепочки профессий и мини-квесты.
  • Достижения, бейджи и сезонные события.
  • Семейные и классные челленджи без раскрытия приватных фото.
  • Более живой питомец: новые эмоции, реакции, анимации и персональные привычки.

Родительский кабинет

  • Расширенная аналитика по неделям и месяцам.
  • Настройка направлений развития: чтение, творчество, спорт, фотоквесты.
  • Семейные цели по полезному офлайн-времени.
  • Экспорт отчета о прогрессе в PDF или ссылку.

About

Полезная фиджитал веб-игра для детей 6-11 лет, разработанная для геймджема VK Education x Учи.ру.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors