2d-game-backend / README.md
Student Hub
Initial backend for Hugging Face Spaces
2f4298a
---
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`.