Skip to content

Элементарный сервис для банка.

Notifications You must be signed in to change notification settings

Ra1nz0r/elementary_bank_service

Repository files navigation

Элементарный сервис для банка.

Предоставляет API, чтобы выполнять следующие действия:

  1. Создавать и управлять банковскими счетами, которые состоят из имени владельца, баланса и валюты.
  2. Записывать все изменения баланса на каждом счете. Таким образом, каждый раз, когда деньги добавляются или вычитаются со счета, будет создаваться запись о счете.
  3. Выполнять перевод денег между двумя счетами. Это должно происходить в рамках транзакции, чтобы либо балансы обоих счетов были успешно обновлены, либо ни один из них.

Настройка инфраструктуры.

  • Создание сети банка:

    make network
  • Запуск контейнера Postgres:

    make postgres
  • Создание simple_bank датабазы:

    make createdb
  • Запуск миграций для датабазы:

    make migrateup
    make migrateup1
    make migratedown
    make migratedown1

Генерация кода.

  • Создание схемы для SQL:

    make db_schema
  • Создание CRUD c SQLC:

    make sqlc
  • Создание моков датабазы через gomock:

    make mock
  • Создание новых миграций:

    make new_migration name=<migration_name>

Как запускать.

  • Run server:

    make server
  • Run test:

    make test