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

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages