This project is a comprehensive banking system built with Go and Gin. The application provides functionalities for managing various aspects of a banking system, including account creation and management, balance recording, and money transfers. It also incorporates authentication and authorization mechanisms using JWT.
- Account Management: Create and manage bank accounts.
- Balance Recording: Record all balance changes to each of the accounts.
- Money Transfer: Perform money transfers between two accounts.
- Authentication and Authorization: Ensures secure access to the application using JWT tokens.
- Backend: Go, Gin, JWT, Microservices
- Client: Vue.js, TypeScript
- Communication: gRPC
- Database: PostgreSQL
- Caching: Redis
- Containerization: Docker
- Orchestration: Kubernetes
- CI/CD: Jenkins, GitHub Actions
- Cloud: Aws (EKS, RDS, Route 53)
- Go 1.16+
- Docker and Docker Compose
- PostgreSQL
- Kubernetes (Minikube or any Kubernetes cluster)
- Jenkins (optional for CI/CD pipeline)
- GitHub account for GitHub Actions
- Node.js and npm (for the frontend)