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

https://github.com/xssxx/simple-bank

implemented of go backend from techschool course
https://github.com/xssxx/simple-bank

docker gin grpc postgresql redis sqlc

Last synced: 2 months ago
JSON representation

implemented of go backend from techschool course

Awesome Lists containing this project

README

          

# πŸ’° Simple Bank

A modern backend system for a simple banking application, built with Go and a solid microservice architecture.

## πŸš€ Tech Stack

- 🌐 [Gin](https://github.com/gin-gonic/gin) – HTTP Web Framework
- πŸ›’οΈ [PostgreSQL](https://www.postgresql.org/) – Relational Database
- πŸ›°οΈ [gRPC](https://grpc.io/) – High-performance RPC framework
- 🐳 [Docker](https://www.docker.com/) – Containerization
- ☸️ [Kubernetes](https://kubernetes.io/) – Container Orchestration
- ⚑ [Redis](https://redis.io/) – In-memory Data Store (Caching & Session)

---

## πŸ“¦ Features

- 🏦 Account creation & management
- πŸ’Έ Secure money transfers between accounts
- πŸ” User authentication with token-based auth
- πŸ“ˆ Database migrations with version control
- πŸ“‘ gRPC service for high-performance APIs
- πŸ§ͺ Unit & integration tests for reliability

---

## πŸ› οΈ Getting Started

1. **Clone the project**

```bash
git clone https://github.com/your-username/simple-bank.git
cd simple-bank
```

2. **Set up environment variables**

Create a .env file:

```env
POSTGRES_USER=root
POSTGRES_PASSWORD=root
POSTGRES_DB=simple_bank
POSTGRES_PORT=5432
POSTGRES_HOST=localhost
```

3. **Start PostgreSQL with Docker**

```bash
make postgres
```

4. **Create and migrate the database**

```bash
make createdb
make migrateup
```

5. **Run the server**

```bash
go run main.go
```