A modern backend system for a simple banking application, built with Go and a solid microservice architecture.
- 🌐 Gin – HTTP Web Framework
- 🛢️ PostgreSQL – Relational Database
- 🛰️ gRPC – High-performance RPC framework
- 🐳 Docker – Containerization
- ☸️ Kubernetes – Container Orchestration
- ⚡ Redis – In-memory Data Store (Caching & Session)
- 🏦 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
-
Clone the project
git clone https://github.com/your-username/simple-bank.git cd simple-bank -
Set up environment variables
Create a .env file:
POSTGRES_USER=root POSTGRES_PASSWORD=root POSTGRES_DB=simple_bank POSTGRES_PORT=5432 POSTGRES_HOST=localhost
-
Start PostgreSQL with Docker
make postgres
-
Create and migrate the database
make createdb make migrateup
-
Run the server
go run main.go