Banking provide APIs for frontend to do following things:
- Create and manage bank accounts, which are composed of owner's name, balance, and currency.
- Authenticate user using PASETO or JWT token.
- Record all Transactions. So every time some money is transfered, an account entry record will be created.
- Perfrom a money transfer between 2 accounts. This should happen within a transaction, so that either both accounts' balance are updated or not to prevent db deadlock or race condition.
This project is containerized using docker and kubernetes. It's deployed on AWS.
I followed along with this course to create this project.
To practice following topics:
Go, Postgresql, github action, paseto and jwt, docker, kubernetes, AWS(IAM, ECR, RDS, EKS), postman