- Golang
- Docker
- `/pkg/utils/`, `/pkg/config/`, ...
- No dependencies on `/cmd`
- Can be imported by external programs
- `/cmd/abac/`, `/cmd/service/`, ...
- Domain specific logic stays close to the main() func
- setup migrations
- user model implementation
- CRUD for user model
- password keeping mech
- field level validation
- password hiding
- check for required fields on each scheme
- basic JWT auth
- jwt support for all routes
- refactor and restructure the whole project
- refactoring teardown
- server graceful shutdown
- basic logging
- add auth middleware
- add request body validators
- add decode interface to all request schemas, so decode and validation will be transferred there
- add Group and Action entities
- add migration schemas for Group and Action
- CRUD for Group entity
- CRUD for Action entity
- add extension for jwt token payload schema to handle needed BL
- extend existing AC to pass new payload schema