An open API service indexing awesome lists of open source software.

https://github.com/meetinger/bwgroup


https://github.com/meetinger/bwgroup

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# 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. сервер, которые проверяет все условия(хватает ли денег, если сервер упадет, то история, которая идет на вывод не
должна пропасть) и делает изменение баланса(на + или -)