Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ra1nz0r/elementary_bank_service

Элементарный сервис для банка.
https://github.com/ra1nz0r/elementary_bank_service

cicd docker docs golang kubernetes migration postgres protobuf sql swagger transaction

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

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

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

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

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

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

``` bash
make network
```

- Запуск контейнера Postgres:

```bash
make postgres
```

- Создание simple_bank датабазы:

```bash
make createdb
```

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

```bash
make migrateup
```

```bash
make migrateup1
```

```bash
make migratedown
```

```bash
make migratedown1
```

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

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

```bash
make db_schema
```

- Создание CRUD c SQLC:

```bash
make sqlc
```

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

```bash
make mock
```

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

```bash
make new_migration name=
```

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

- Run server:

```bash
make server
```

- Run test:

```bash
make test
```