Skip to content

rianoneq/betline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

BETLINE

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

GETTING STARTED

  1. Проект использует make команды, можно поставить себе make, а можно воспользоваться докер командами windows make ну докер думаю у всех есть, как и гит

  2. Стянуть проект к себе

git clone https://github.com/rianoneq/betline
  1. открыть 2 терминала, с одного зайти в папку bet_maker, с другого в line_provider
cd betline/bet_maker
cd betline/line_provider

Далее действия дублируются на каждый из терминалов (сервисов)

  1. Создать .env в корне проекта рядом с .env.example и заполнить его такими же данными

  2. Поднять сервис командой make либо docker

Важно!

Начать собирать bet_maker после line_provider

  • make sh make app

  • docker

    • line_provider
       docker compose -f docker_compose/app.yaml -f docker_compose/storages.yaml -f docker_compose/messaging.yaml -p line-provider up -d --build
    • bet_maker
       docker compose -f docker_compose/app.yaml -f docker_compose/storages.yaml -p bet-maker up -d --build
  1. Провести миграции

    • make
     make migrate
    • docker

      • line_provider
         docker exec -it line-main-app alembic upgrade heads
      • bet_maker
         docker exec -it bet-main-app alembic upgrade heads
  2. Перейти в доки

  1. Проверить логи
    • make
        make app-logs
    • docker
      • line_provider
      docker logs -f line-main-app
    • bet_maker
       docker logs -f bet-main-app
  2. Запустить тесты
  • make
     make tests
  • docker
    • line_provider
    docker exec -it line-main-app pytest
    • bet_maker
    docker exec -it bet-main-app pytest

Помимо того что описано в тз реализовал обработку новых ставок в сервисе событий. То есть когда на определнное событие делается ставка (на победу первой команды по тз), кэф это ставки уменьшается на 10% от суммы ставки. Добавил я это потому что посчитал странным, что сумма ставки и коэффициент события никак не взаимодействуют и непонятно зачем нужны.

Надеюсь что все запустилось и корректно работает. Буду рад обсудить выполнение тестового задания с вами!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published