Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
Элементарный сервис для банка.
- Host: GitHub
- URL: https://github.com/ra1nz0r/elementary_bank_service
- Owner: Ra1nz0r
- Created: 2024-07-31T12:46:34.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-07-31T13:06:28.000Z (5 months ago)
- Last Synced: 2024-08-01T16:17:13.189Z (5 months ago)
- Topics: cicd, docker, docs, golang, kubernetes, migration, postgres, protobuf, sql, swagger, transaction
- Language: Go
- Homepage:
- Size: 6.95 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
```