Make server logic more advanced, using better design patterns. Key points to implement:
Add check for existing instance in Database and Environment, make sure it works as expected across multiple workers (For Database create private constructor and public getInstance()) ✅
Dependency Injection (DI) for Better Testability and Modularization. Try to give in each used method just a data, with which this method should work. Try to avoid declaring variables in controllers ✅
Centralized Error Handling and Validation Middleware. ✅
Improved Controller Structure with Route Separation. ✅
RBAC (Role-Based Access Control) and Enhanced Auth Middleware. ✅
Make Asynchronous Logging and other operations. ✅
Update all private variables with underscore notation (e.g. private _db: Database) ✅
Avoid any type if possible. Use unknown type instead ✅
Make server logic more advanced, using better design patterns. Key points to implement:
getInstance()
) ✅private _db: Database
) ✅any
type if possible. Useunknown
type instead ✅