Party Party Yeah 2.0 API

Веб-приложение с мини-играми и общением.
Operations
Получить форму входа
GET /

Возвращает HTML-страницу для входа пользователя.

Responses

200 200

Форма входа отображена

Авторизация пользователя
POST /

Выполняет простую проверку логина и пароля (admin/admin).

Request body

Object
username
string required

Логин

Example:
admin
password
string required

Пароль

Example:
admin

Responses

200 200

Успешный вход

401 401

Неверный логин или пароль

Получить форму создания комнаты
GET /rooms

Возвращает HTML-форму для создания игровой комнаты.

Responses

200 200

Форма отображена

Создание новой комнаты
POST /rooms

Создает новую комнату с выбранным режимом: “В одиночку”, “С друзьями”, “Случайный игрок”.

Request body

Responses

201 201

Комната успешно создана

Body
400 400

Ошибка данных

Получить форму создания напоминания
GET /notifications

Возвращает HTML-форму для создания напоминания.

Responses

200 200

Форма отображена

Создать новое напоминание
POST /notifications

Создает новое напоминание с текстом и временем.

Request body

Responses

201 201

Напоминание успешно создано

400 400

Ошибка в данных напоминания

Получить список всех напоминаний
GET /notifications/list

Возвращает все созданные напоминания пользователя.

Responses

200 200

Список напоминаний получен

Body
Array of Notification
Получить форму для игры "Угадай карту"
GET /games/card

Показывает форму для ввода кода карты (например, 6D или KC).

Responses

200 200

Форма отображена

Запуск игры "Угадай карту"
POST /games/card

Сравнивает выбор пользователя со случайной картой (Deck of Cards API) и сохраняет результат.

Request body

Responses

200 200

Игра завершена, результат сохранен

Body
400 400

Неверный формат ввода

500 500

Ошибка внешнего API

Получить статистику по игре "Угадай карту"
GET /games/card/statistics

Возвращает количество сыгранных игр и побед пользователя.

Responses

200 200

Статистика получена

Body
Получить страницу с игрой "Раскраска"
GET /games/coloring

Получает случайную палитру через API Colormind, отображает палитру и изображение для раскраски.

Responses

200 200

Палитра успешно получена

Body
500 500

Ошибка внешнего API

Заглушка для игры "Крестики-нолики"
GET /games/t-t-t

Возвращает сообщение о недоступности игры.

Responses

200 200

Сообщение отображено

Type Definitions
Room

Игровая комната, созданная пользователем.

Object
name
string

Название комнаты

Example:
Комната 1
mode
string

Режим игры

Enumeration:
Solo

В одиночку

Friends

С друзьями

Random

Случайный игрок

date_created
string date-time

Дата создания

Example:
2025-10-20T13:56
Notification

Напоминание пользователя.

Object
message
string

Текст напоминания

Example:
Уделите время раскраске!
time
string date-time

Дата и время

Example:
2025-10-24T16:30
GameInput

Входные данные для игры “Угадай карту”.

Object
user_choice
string required

Выбор пользователя - код карты (значение и масть)

Example:
6D
Game

Результат игры “Угадай карту”.

Object
user_id
string

ID пользователя

Example:
admin
user_choice
string

Выбор пользователя в игре

Example:
6D
computer_choice
string

Случайная карта из внешнего API

Example:
KC
result
string

Результат (win/lose)

Example:
win
date
string date-time

Дата игры

Example:
2025-10-26T22:13
GameStats

Статистика игр пользователя.

Object
total_games
integer

Общее количество сыгранных игр

Example:
10
wins
integer

Общее количество побед

Example:
6
Coloring

Палитра из 5 случайных цветов.

Object
palette
Array of string

Палитра из 5 случайных цветов

Example:
[
  "#232124",
  "#758121",
  "#d59133",
  "#e4ab4b",
  "#cb1b38"
]