Skip to content

q-user/banking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Симулятор банка

Запуск

docker-compose up

При запуске через миграции создаются три счёта (RUB, EUR, USD) с положительным балансом принадлежащих банку.

Регистрация

Далее пройти регистрацию по адресу: http://localhost/api/auth/registration Почта для отправки писем не настроена, поэтому регистрация упадет, но пользователь сразу будет доступен для входа. При регистрации пользователю создаются три счета (RUB, EUR, USD). И автоматически создается транзакция на сумму 100 USD счёта банка на счет нового пользователя.

Логин

Вход по адресу http://localhost/api/auth/login/

Точка доступа к счетам

Список доступных счетов можно посмотреть по адресу http://localhost/api/api/accounts/. Обычные пользователи могут просмотривать информацию только о своих счетах, а также создавать новые счета в выбранной валюте с нулевым балансом. Пользователь is_staff имеет возможность просматривать все счета.

Точка доступа к транзакциям

По адресу http://localhost/api/transactions/ можно посмотреть список своих транзакций. Доступна фильтрация и сортировка. Staff пользователь также имеет возможность просматривать все транзакции. Доступно создание новой транзакции, только между счетами одной валюты. Если указать один счёт отправитель и получатель в обоих полях, либо счета разных валют, появится сообщение с просьбой указать корректный счет.
Транзакция проводится не в реальном времени. При создании ей присваивается статус PENDING и отправляется на проведение в очередь. При проведении проверяется текущий баланс счёта отправителя, в случае если сумма перевода плюс комиссия превышает остаток на балансе, статус транзакции меняется на ERROR, записывается причина ошибки в поле error_msg. При успешном проведении списывается сумма перевода и комиссии со счета отправителя, сумма перевода добавляется на счет получателя, комиссия добавляется на счет банка, статус транзакции меняется на SUCCESS.

Панель администратора

http://localhost/admin/

Login: superuser
Password: 123

Код покрыт тестами на имеющиеся права различными типами пользователей, сигналы, отложенные задания.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages