- persist unexpected error logs in database (probably something like mongodb) usign exceptions filter
- add pagination to listing routes
- add search routes
- implement a caching layer with redis
- create purchasables price increase/decrease policy
- split modules persistence into multiple databases
- create a notification service with a message queue
- frontend