Backend Features

June 14, 2026 · View on GitHub

Catalog of NestJS modules and API surface. Before adding a new module, check shared-infrastructure.md for existing utilities you can reuse.

Active Modules (registered in AppModule)

ModulePathDescriptionStatus
Authbackend/src/auth/JWT + refresh-token auth, Passport strategies, login/refresh, identity recordsActive
Usersbackend/src/users/User CRUD, passwords, avatars, login records, IP geolocationActive
Tasksbackend/src/tasks/Admin-managed scheduled/one-shot background tasks + execution logsActive
Notificationsbackend/src/notifications/Admin alerts (errors/rate limits) and contact-request inboxActive
Systembackend/src/system/Singleton runtime system config document in MongoDBActive
Utilsbackend/src/utils/Mutex locks, circuit breakers, crypto/string/date helpers, DB transactionsActive
Dashboardbackend/src/dashboard/Admin dashboard aggregate stats (users, login analytics)Active
Sharedbackend/src/shared/Empty placeholder module; base classes imported directlyActive
Mebackend/src/me/Current-user profile and activity tracking (GET /v1/me)Active

Standalone / Unregistered Modules

ModulePathDescriptionStatus
Maintenancebackend/src/maintenance/DB seed script (npm run init-db:dev); seeds users + tasksStandalone bootstrap

API Routes

All routes prefixed /v1/. Auth column: Public, Admin, Manager, or mixed.

Auth (/v1/auth, /v1/identities)

MethodRouteAuthDescription
POST/auth/loginPublicUsername/password login
POST/auth/refreshPublicRefresh access token
GET/identitiesAdminList identity records

Me (/v1/me)

MethodRouteAuthDescription
GET/meJWTGet current authenticated user profile

Users (/v1/users, /v1/login-records)

MethodRouteAuthDescription
POST/usersAdminCreate user
GET/usersAdminList users (paginated)
GET/users/:idAdminGet user by ID
PUT/users/:idAdminUpdate user data
PATCH/users/:id/passwordAdminChange password
PUT/users/:id/avatarAdminUpload avatar
DELETE/users/:idAdminDelete user
GET/login-recordsAdminList login records

Tasks (/v1/tasks, /v1/task-logs)

MethodRouteAuthDescription
POST/tasksAdminCreate task
GET/tasksAdminList tasks
GET/tasks/:idAdminGet task
PATCH/tasks/:idAdminUpdate task
DELETE/tasks/:idAdminDelete task
POST/tasks/:id/startAdminStart task
POST/tasks/:id/stopAdminStop task
GET/tasks/:id/statusAdminGet task status
GET/task-logsAdminList task execution logs
GET/task-logs/:idAdminGet task log detail

Notifications (/v1/alerts, /v1/contact-request)

MethodRouteAuthDescription
GET/alertsAdminList alerts
PATCH/alerts/:id/dismissAdminDismiss alert
PATCH/alerts/dismiss-allAdminDismiss all alerts
GET/contact-requestAdminList contact requests
GET/contact-request/:idAdminGet contact request
PATCH/contact-request/:id/mark-as-readAdminMark as read

Note: ContactRequestService.create() exists but has no HTTP endpoint yet.

System & Utils (/v1/system-config, /v1/circuit-breakers)

MethodRouteAuthDescription
GET/system-configAdminGet system configuration
GET/healthAdminApplication health check
GET/circuit-breakersAdminList circuit breakers
GET/circuit-breakers/:idAdminGet circuit breaker
POST/circuit-breakers/:id/resetAdminReset circuit breaker

Dashboard (/v1/dashboard)

MethodRouteAuthDescription
GET/dashboard/users-tilesAdmin, ManagerUser count tiles
GET/dashboard/login-records-by-deviceAdmin, ManagerLogin stats by device
GET/dashboard/login-records-by-countryAdmin, ManagerLogin stats by country

Contracts per Module

Shared types live in backend/libs/contracts/src/. Key exports:

ModuleDTOsQueriesCommandsEnums
AuthIdentityDtoGetIdentitiesQueryCreateIdentityCommand, CreateRefreshTokenCommandIdentityProviderEnum
UsersUserDto, UserSettingsDto, LoginRecordDtoGetUsersQuery, GetLoginRecordsQueryCreateUserCommand, UpdateUserDataCommand, UpdateUserPasswordCommand, CreateUserSettingsCommandUserRoleEnum
TasksTaskDto, TaskLogDtoGetTasksQuery, GetTaskLogsQueryCreateTaskCommand, UpdateTaskCommandTaskTypeEnum, TaskLogTypeEnum
NotificationsAlertDto, ContactRequestDtoGetAlertsQuery, GetContactRequestQueryContactRequestCommandAlertTypeEnum, ContactRequestStatusEnum, ContactTypeEnum, CryptoNetworkEnum
UtilsCircuitBreakerDtoGetCircuitBreakersQueryCircuitBreakerOperation
SystemSystemConfigDto, HealthCheckResultDto

Reference Implementations

PatternExample
Full CRUD entitybackend/src/users/
Background taskbackend/src/tasks/
Admin alertsbackend/src/notifications/
Resilience toolingbackend/src/utils/

Adding a New Entry

When you add a backend module or endpoint, append a row to the tables above:

| **MyFeature** | `backend/src/my-feature/` | One-line description | Active |

Include API routes in the routes section and contracts in the contracts table. If the module exports reusable services, also update shared-infrastructure.md.

Last updated

2026-06-15