How jineshprajapat/finance_dashboard works
This NestJS backend serves a finance dashboard: clients authenticate, then use protected endpoints to manage users and financial records, administer database-backed roles and permissions, and retrieve analytics. Services own business logic and authorization; TypeORM persists users, sessions, RBAC mappings, and records. The README documents these capabilities, but sampled source excerpts do not show every service implementation or module wiring, so those internal links are represented only where documented or directly evident.
Main entry points: access-token.middleware.ts Token middleware · data-source.ts SQL database · app_token.middleware.ts App token check · users.controller.ts User endpoints
Components 21
API and security
- Token middleware
src/middlewares/access-token.middleware.ts - App token check
src/middlewares/app_token.middleware.ts
Identity and access
- Auth endpoints
src/modules/user-auth/use-auth.controller.ts - Login and refresh
src/modules/user-auth/user-auth.service.ts - JWT service
src/modules/auth/auth.service.ts - Refresh sessions
src/modules/user-auth/user_sessions/user-sessions.service.ts - User endpoints
src/modules/users/users.controller.ts - User management
src/modules/users/users.service.ts - Role endpoints
src/modules/roles/roles.controller.ts - Role management
src/modules/roles/roles.service.ts - Permission endpoints
src/modules/permissions/permissions.controller.ts - Permission registry
src/modules/permissions/permissions.service.ts - Role-permission endpoints
src/modules/role-has-permissions/role-has-permissions.controller.ts - Permission mapping
src/modules/role-has-permissions/role-has-permissions.service.ts - RBAC checks
src/modules
Finance and analytics
- Record endpoints
src/modules/financial-records/financial-records.controller.ts - Record management
src/modules/financial-records/financial-records.service.ts - Dashboard endpoints
src/modules/dashboard/dashboard.controller.ts - Analytics queries
src/modules/dashboard/dashboard.service.ts
Persistence
- SQL database
src/data-source.ts
Other components
- Client
Connections 41
- Client → Auth endpoints: requests
- Client → User endpoints: requests
- Client → Role endpoints: requests
- Client → Permission endpoints: requests
- Client → Role-permission endpoints: requests
- Client → Record endpoints: requests
- Client → Dashboard endpoints: requests
- Token middleware → Auth endpoints: protects
- Token middleware → User endpoints: protects
- Token middleware → Role endpoints: protects
- Token middleware → Permission endpoints: protects
- Token middleware → Role-permission endpoints: protects
- Token middleware → Record endpoints: protects
- Token middleware → Dashboard endpoints: protects
- App token check → User endpoints: protects
- App token check → Role endpoints: protects
- App token check → Permission endpoints: protects
- App token check → Role-permission endpoints: protects
- App token check → Record endpoints: protects
- App token check → Dashboard endpoints: protects
- Auth endpoints → Login and refresh: delegates
- Login and refresh → JWT service: creates tokens
- Login and refresh → Refresh sessions: manages sessions
- Login and refresh → SQL database: reads users
- Refresh sessions → SQL database: reads/writes
- User endpoints → User management: delegates
- User endpoints → Permission mapping: uses
- User management → RBAC checks: checks access
- Role endpoints → Role management: delegates
- Permission endpoints → Permission registry: delegates
- Role-permission endpoints → Permission mapping: delegates
- Role management → SQL database: persists roles
- Permission registry → SQL database: persists permissions
- Permission mapping → SQL database: persists mappings
- RBAC checks → SQL database: loads permissions
- Record endpoints → Record management: delegates
- Record management → RBAC checks: checks access
- Record management → SQL database: reads/writes
- Dashboard endpoints → Analytics queries: delegates
- Analytics queries → RBAC checks: checks access
- Analytics queries → SQL database: aggregates records