Number in brackets is the priority. The lower the number, the higher the priority.
- (0) Work out generic solution for state-of-the-art sorting, filtering, and pagination.
- (3) Add unit tests
- (4) Add a CI/CD pipeline (tests, linting, building, *deploying)
- (4) Implement generic microservice via event-driven stuff
- (4) Review MikroORM config, try to share it with cravster-shared
- (5) Add internationalization support
- (5) Extract authentication and authorization to cravster-auth microservice
- (6) Add multiple users support
- (8) Add generic AI support (recipe suggestions, recipe improvements, recipe creation, suggested ingredients to buy)
- (8) Add tsc compilation step due to tsx implementation
- (8) Consider using tslint across the whole project
- (8) Determinate app versioning, include it in swagger/healtcheck
- (8) Make sure all projects use same build directory (dist/build), just to keep it consistent
- (8) Review DI methods (constructor vs prop)
- (8) Review docker compose setups (network, volumes, mapping, ports, stage/prod setups, healthchecks, restart policies, reporting, readme)
- (8) Review scaling
- (9) Add autocompletion https://ant.design/components/auto-complete
- (9) Add e2e tests
- (9) Add integration tests
- (9) Add performance tests
- (9) Consider using SWC
- (9) Review unused dependencies
- (9) Add husky