Skip to content

ksvfs/bank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Банковский REST API

Сервис реализует REST API для банковского приложения на Go с PostgreSQL, JWT-аутентификацией, выпуском карт, переводами, кредитами, аналитикой, интеграцией с ЦБ РФ и SMTP

Запуск

docker compose up --build

После запуска будут доступны:

  • API: http://localhost:8080
  • SMTP-веб-интерфейс Mailpit: http://localhost:8025

Основные эндпоинты

Публичные

  • GET /health
  • POST /register
  • POST /login
  • GET /rates/key

Защищенные

  • POST /accounts
  • GET /accounts
  • POST /accounts/{accountId}/deposit
  • POST /accounts/{accountId}/withdraw
  • GET /accounts/{accountId}/predict?days=30
  • POST /transfer
  • POST /cards
  • GET /cards
  • POST /cards/{cardId}/pay
  • POST /credits
  • GET /credits/{creditId}/schedule
  • GET /analytics

Для защищенных эндпоинтов нужно передавать заголовок:

Authorization: Bearer <JWT>

Примеры запросов

Регистрация

curl -X POST http://localhost:8080/register -H 'Content-Type: application/json' -d '{"email":"user@example.com","username":"user","password":"password"}'

Вход

curl -X POST http://localhost:8080/login -H 'Content-Type: application/json' -d '{"email":"user@example.com","password":"password"}'

Создание счета

curl -X POST http://localhost:8080/accounts -H 'Content-Type: application/json' -H 'Authorization: Bearer <JWT>' -d '{"name":"Основной счет"}'

Выпуск карты

curl -X POST http://localhost:8080/cards -H 'Content-Type: application/json' -H 'Authorization: Bearer <JWT>' -d '{"account_id":"<ACCOUNT_ID>"}'

Оформление кредита

curl -X POST http://localhost:8080/credits -H 'Content-Type: application/json' -H 'Authorization: Bearer <JWT>' -d '{"account_id":"<ACCOUNT_ID>","principal":50000,"term_months":12}'

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors