Max total score: 100
- +10 Nest logger is configured with configurable log level via
LOG_LEVELenv variable - +10 Incoming requests are logged (method, URL, query parameters, body)
- +10 Outgoing responses are logged (status code, response time)
- +10 Global exception handling is implemented (exception filter or equivalent) — catches errors, logs them, returns proper HTTP responses
- +10 Custom error classes are implemented (
NotFoundError,ValidationError,UnauthorizedError,ForbiddenError) withstatusCodeproperty - +10 Custom error classes are used in route handlers instead of manually setting status codes
- +10 Log file rotation is implemented with configurable max file size via
LOG_MAX_FILE_SIZEenv variable - +10 Sensitive data (passwords, tokens) is sanitized in logs — replaced with
"[REDACTED]" - +10
uncaughtExceptionlistener is added with fatal-level logging and graceful shutdown - +10
unhandledRejectionlistener is added with error-level logging and graceful shutdown (server close, DB disconnect, process exit)
- -30% of max task score Commits after deadline (except commits that affect only Readme.md, .gitignore, etc.)
- -20 Missing PR or its description is incorrect
- -20 No separate development branch
- -20 Less than 3 commits in the development branch, not including commits that make changes only to
Readme.mdor similar files (tsconfig.json,.gitignore,.prettierrc.json, etc.)