Сервис для управления балансом пользователей, который позволяет осуществлять основные денежные операции
- Сервис предоставляет HTTP API в формате JSON
- Зачисление средств на баланс
- Cписание денег c баланса
- Получение баланса пользователя
- Восстановление истории запросов для отдельного пользователя
в случае, если сервер упадёт
- Установите Docker и docker-compose для своей ОС https://docs.docker.com/compose/install/
- Склонируйте репозиторий и перейдите в корень проекта
git clone https://github.com/ssergomol/E-Wallet.git && cd ./E-Wallet
- Выполните
docker-compose up
- Метод зачисление средств на баланс
Принимает ID пользователя, ID операции (0 в данном случае) и сумму зачисления
Запрос:
curl --header "Content-Type: application/json" \
--request POST \
--data '{"user_id":0, "service_id": 0, "price": "100.00"}' \
http://localhost:8080/balance
Тело ответа (история запросов):
[
{
"user_id": 0,
"service_id":0,
"price":"100.00",
"description":"Replenish balance"
}
]
- Метод Cписания денег c баланса
Принимает ID пользователя, ID услуги (1 в данном случае) и сумму списания
Запрос:
curl --header "Content-Type: application/json" \
--request POST \
--data \
'{ "id": 0, "user_id": 0, "service_id": 1, "price":"10.00"}' \
http://localhost:8080/accounts
Тело ответа (история запросов):
[
{
"user_id": 0,
"service_id":0,
"price":"100.00",
"description":"Replenish balance"
},
{
"user_id": 0,
"service_id":1,
"price":"10.00",
"description":"Spend funds"
}
]
- Метод получения баланса пользователя
Принимает id пользователя Запрос:
curl --header "Content-Type: application/json" \
--request GET \
--data \
'{ "id": 0 }' \
http://localhost:8080/balance
Тело ответа (в случае успеха возвращает id пользователя и его баланс):
{
"id": 0,
"sum": "1000.00"
}
Сергей Молчанов - @ssergomol - ssergomoll@gmail.com