- Banking
- Auth-Banking
- Open new account for customer
- Making a Deposit or Withdrawal Transaction in the accounts.
- Authorization is applied to the APIs
- Role based access control (RBAC)
This project uses docker containers please ensure docker is installed on your system.Open a terminal in this directory and run the following command docker-compose up -d
This creates the following docker containers
- mysql
- auth-banking-service
- banking-service
Once the containers are up and running, you can import postman collection and environment file then start using the postman and refer to collection documentation to know more about API usage.
Use of each and every API is mentioned in a dedicated documentation page visit API Documentation Link visit now.
- Hexagonal Architecture implemented across all microservices
- Banking-Auth microservice based on OAuth
- Decoupling the domain objects and Data transfer objects
- Dependency inversion in Go and working with stubs
- Routing capabilities of gorilla/mux, JWT Tokens for authentication & SQLX for database interaction
- Designed own custom error and logging library.