- Docker
- Port 8081 is free
- TCP Port 3337 is free
- sh start.sh
- Basic auth creds (attach to your postman requests, but the UI served attaches these auth protocol in axios interceptors):
- Username: admin@gmail.com
- Password: 123456
- I did not use for loops for my test code deviating from how it's usually done, because the mock libraries I am using to test won't be easily readable if I go that route
- I also served a UI from: http://localhost:8081
- Docs is served from: http://localhost:8081/docs
- Architecture followed is dependency injection
- Notable libraries used:
- Fiber - Multiplexer
- Dingo - Dependency Injection Library
- Counterfeiter - Interface Mock
- SQLBoiler - ORM
- Go-SQLMock - SQL Mock
- Swaggo - Doc Generator
- Logrus - Logger
- Viper - Env Parser
- Validator - Validation
- Testify - Testing