Skip to content

Petryanin/bet_maker

Repository files navigation

Bet-maker

black ruff pre-commit

Общая информация

Система, принимающая пользовательские ставки на спортивные события.

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

  1. Склонировать репозиторий
  2. Перейти в папку с проектом
  3. Выполнить команду cp .env.example .env (поменять конфигурацию при необходимости)
  4. Выполнить команду docker-compose up

API bet-maker

POST /bets

Совершает ставку на событие. В теле запроса необходимо передать JSON-объект, содержащий:

  • идентификатор события — число,
  • сумму ставки — строго положительное число с двумя знаками после запятой.

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

Пример запроса:

{
  "event_id": 1,
  "amount": 10.50
}

Пример ответа (200 - OK)

{
  "bet_id": 1,
  "message": "Bet created successfully"
}

GET /bets

Возвращает историю всех сделанных ставок — массив JSON-объектов, содержащих информацию о ставках Статус ставки может быть одним из следующих:

  • 1 - ещё не сыграла (соответствующее событие ещё не завершилось),
  • 2 - выиграла (событие завершилось выигрышем первой команды),
  • 3 - проиграла (событие завершилось проигрышем первой команды или ничьей).

Пример ответа (200 - OK)

[
  {
    "bet_id": 1,
    "event_id": 1,
    "state": 1,
    "amount": "10.50"
  }
]

PUT /events/{event_id}

Сообщает о том, что в событии с указанным event_id произошли изменения. В теле запроса необходимо передать JSON-объект, содержащий единственное поле — новый статус события. Поле может принимать одно из следующих строковых значений: WIN, LOSE.

Обработчик запроса соответствующим образом обновит статусы всех совершённых на данное событие ставок.

Пример запроса:

Параметры пути:

  • event_id (обязательный): Уникальный идентификатор события.

Тело запроса:

{
  "state": "WIN"
}

Пример ответа (200 - OK):

{
  "event_id": 1,
  "message": "Event updated successfully"
}

About

Service for making bets

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published