Simple Bank is a simple banking system that provides basic account management and transaction functionalities. This project utilizes a modern tech stack to achieve efficient and secure backend services.
Tech Stack
Go: The backend service is written in Go, offering high performance and concurrency handling.
Gin: The Gin framework is used to build RESTful APIs, providing fast and flexible routing.
PostgreSQL: PostgreSQL is used as the database to store user and transaction data.
Docker: Docker is used to containerize the application, simplifying deployment and environment configuration.
JWT: JSON Web Tokens are used for user authentication and authorization.
GoMock: GoMock is used for unit testing to ensure code reliability and maintainability.
Features
User Registration and Login: Provides user registration and login functionalities with JWT for authentication.
Account Management: Users can create and manage multiple bank accounts.
Transfer Functionality: Supports transfers between accounts, ensuring transaction security and consistency.
Transaction History: Offers detailed transaction history query functionality for users to view past transactions.
Security: Uses encryption to protect user data and transaction information.
Deployment
AWS ECR and EKS
This project supports deployment on AWS's ECR (Elastic Container Registry) and EKS (Elastic Kubernetes Service).
Quick Start
Clone the Project:
git clone https://github.com/yourusername/simple_bank.git
cd simple_bank
Build and Run Docker Container:
docker-compose up --build
Access the API:
The API will run on http://localhost:8080, and you can test it using Postman or other tools.
License
This project is licensed under the MIT License. See the LICENSE file for details.