A backend service for managing user accounts, access control, and related billing and activity tracking in a Domain-Driven Design (DDD) architecture. This service is built with NestJS and uses pnpm as the package manager.
- Framework: NestJS
- Language: TypeScript
- Package Manager: pnpm
- Architecture: Domain-Driven Design (DDD)
- Database: PostgreSQL
- ORM: TypeORM
- Mail Service: Resend (for notifications)
The application is organized into modules that follow DDD boundaries. Here's a breakdown:
Account Registration: Incharge of requesting user creationAccount Authorization: Role-based access controlAccount Management: Profile and status updates
User Operation Fee: Handles monthly user fee logicPayments: Tracks transaction history
Activity Requests: Submit and track activity approvalsActivity Managements: Manage member activitiesWork Logs: Handle logs of attendance
KPI&User Trends: Metrics & performance insights
File Storage,Mail Service,Feature Flags
- Periods, Departments, Time of Day, Day of Week
💡 See
docs/or the diagram for full service interaction.
- Node.js v18+
- pnpm (install via
npm i -g pnpm) - PostgreSQL database
pnpm installAnd run it
pnpm run devTrigger upload work logs
pnpm run upload