- Username: ianzhang
- Password: testpassword
- Deployment:
Docker
,Docker Compose
,AWS EC2
,Nginx
- Language:
Go 1.22.3 darwin/amd64
- Backend Framework:
Gin v1.10.0
- Frontend Framework:
Vue
- Tools/Middlewares/Libraries:
RabbitMQ
: for decoupling the service layer and api handlerGo Testing
: for unit testsGORM
: ORM library for dealing with databasesxid
: for token generationbcrypt
: for password hashing
- IDE:
VSCode
- Deployed the App on AWS EC2 instance with Docker, used Docker Compose for orchestration
- Applied RabbitMQ to decouple the API handler and service layer
- Implemented authenticator and authorizor middlewares for authentication and authorization
- Implemented TDD (Test Driven Development) approach and comprehensively performed unit tests for each functionality, improved the robustness of the app
- Designed IoC (Inverse of Control) container to seperate the dependencies between service modules, enhanced scalibility