https://github.com/7nmw/wallet
Приложение Wallet c GET, POST запросами
https://github.com/7nmw/wallet
django django-rest-framework docker-compose postgresql requests
Last synced: about 1 year ago
JSON representation
Приложение Wallet c GET, POST запросами
- Host: GitHub
- URL: https://github.com/7nmw/wallet
- Owner: 7nmw
- Created: 2025-03-09T09:53:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-10T06:21:08.000Z (over 1 year ago)
- Last Synced: 2025-06-16T19:08:08.568Z (about 1 year ago)
- Topics: django, django-rest-framework, docker-compose, postgresql, requests
- Language: Python
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Задание:
-------
Приложение, которое по REST принимает запрос вида:
POST api/v1/wallets//operation
```
{
"operationType": "DEPOSIT",
"amount": 1000
}
```
```
{
"operationType": "WITHDRAW",
"amount": 1000
}
```
после выполнять логику по изменению счета в базе данных
также есть возможность получить баланс кошелька
GET api/v1/wallets/{WALLET_UUID}
стек:
Django,
Postgresql
* Предусмотрите соблюдение формата ответа для заведомо неверных запросов, когда
кошелька не существует, не валидный json, или недостаточно средств.
* Приложение должно запускаться в докер контейнере, база данных тоже, вся система
должна подниматься с помощью docker-compose
* Предусмотрите возможность настраивать различные параметры приложения и базы
данных без пересборки контейнеров.
* Эндпоинты должны быть покрыты тестами.
Запуск Docker
------
```
git clone https://github.com/7nmw/Wallet.git
docker-compose up -d
```
Доступ к админке Django, создайте суперпользователя:
```
docker-compose exec web python manage.py createsuperuser
```
Запуск тестов в контейнере:
```
docker-compose exec web python manage.py test
```
Использованы переменные окружения в файле .env
Главная страница: http://localhost:8000/
Сервис
------
* `admin/` - Админка
* `api/v1/wallets//operation` - Операции DEPOSIT or WITHDRAW
* `api/v1/wallets/` - Можно получить баланс кошелька