meetinger / bwgroup

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bwgroup

Тестовое задание bwgroup

Установка и настройка

  1. Склонируйте репозиторий при помощи команды git clone https://github.com/meetinger/bwgroup и перейдите в директорию репозитория
  2. Настройте файлы .env и .env.docker
  3. Соберите образ контейнера с помощью команды sudo docker build .
  4. Запустите контейнеры с помощью команды sudo docker-compose up -d
  5. Проверьте работу API с помощью PostMan или чего-нибудь другого

Дополнительные фичи:

  1. Документация http://127.0.0.1:8000/redoc и http://127.0.0.1:8000/docs
  2. Логирование
  3. Регистрация и JWT-авторизация

Замечания:

  1. Очередь запросов находится в одной таблице, но у каждого запроса присутствует внешний ключ к пользователю. При этом выполнение запросов выполняется в отдельном потоке для каждого пользователя, поэтому условия ТЗ соблюдены, Т.к у каждого пользователя отдельная очередь запросов

ТЗ:

Нужно реализовать систему транзакций.

Как происходит транзакция:

Идет запрос на сервер от клиента, по клиенту выстраивается очередь на вывод.

Важно:

  1. у каждого клиента есть своя очередь;
  2. при нехватке денег, нужно блокировать запрос

Что нужно реализовать :

  1. бд на postgresql, где будет схема с клиентами и их балансами

  2. сервер, которые проверяет все условия(хватает ли денег, если сервер упадет, то история, которая идет на вывод не должна пропасть) и делает изменение баланса(на + или -)

About


Languages

Language:Python 97.6%Language:Mako 1.2%Language:Shell 0.6%Language:Dockerfile 0.6%