2d-game-backend / README.md
Student Hub
Initial backend for Hugging Face Spaces
2f4298a
metadata
title: 2D Game Backend
emoji: 🎮
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
app_port: 7860

2D Game Backend API

Backend сервер для 2D игры с полной системой авторизации, управлением игроками и админ-панелью.

Функции

🔐 Авторизация

  • Регистрация пользователей
  • JWT аутентификация
  • Управление профилями

🎮 Игровая механика

  • Управление энергией и сытостью
  • Статистика игроков (уровень, опыт, монеты)
  • Трекинг игровых сессий
  • Логирование действий игроков

👨‍💼 Админ-панель

  • Общая статистика игры
  • Управление пользователями
  • Топ игроков по различным метрикам
  • Аналитика активности
  • Временные графики
  • Метрики удержания игроков
  • История действий

API Документация

После запуска доступна по адресу: /docs

Эндпоинты

Авторизация

  • POST /api/auth/register - Регистрация
  • POST /api/auth/login - Вход
  • GET /api/auth/me - Текущий пользователь

Игра

  • GET /api/game/stats - Статистика игрока
  • PATCH /api/game/stats - Обновление статистики
  • POST /api/game/stats/consume-energy - Расход энергии
  • POST /api/game/stats/restore-energy - Восстановление энергии
  • POST /api/game/stats/consume-hunger - Расход сытости
  • POST /api/game/stats/restore-hunger - Восстановление сытости
  • POST /api/game/session/start - Начало сессии
  • POST /api/game/session/end - Завершение сессии

Админка (требуется admin права)

  • GET /api/admin/stats/overview - Общая статистика
  • GET /api/admin/users - Список пользователей
  • GET /api/admin/stats/top-players - Топ игроков
  • GET /api/admin/stats/sessions-timeline - График сессий
  • GET /api/admin/stats/activity-heatmap - Тепловая карта активности
  • GET /api/admin/stats/user-retention - Удержание пользователей
  • GET /api/admin/stats/game-metrics - Игровые метрики
  • GET /api/admin/actions/recent - Последние действия

Настройка

По умолчанию создается администратор:

  • Username: admin
  • Password: admin123

⚠️ Важно: Измените пароль администратора после первого входа!

База данных

Использует SQLite для простоты деплоя. Для продакшена можно переключиться на PostgreSQL через переменную окружения DATABASE_URL.