How sahalpk007/my-crm-monorepo works
This is a full-stack CRM: users sign in, then manage customer and sales records, track follow-up activity, and review dashboards and reports through a Next.js interface backed by a NestJS API and PostgreSQL. The graph keeps the principal workflow alongside access control, administration, notifications, and shared import/upload capabilities. Some frontend-to-API wiring and unsampled feature internals are documented only at the product level, so those links are not expanded into speculative call chains.
Main entry points: app.module.ts NestJS API · layout.tsx CRM interface · auth.service.ts Authentication · companies.service.ts Companies
Components 23
Web workspace
- CRM interface
apps/frontend/src/app/(crm)/layout.tsx - Dashboard
apps/frontend/src/app/(crm)/dashboard/page.tsx - Sales workspace
apps/frontend/src/app/(crm)/leads/page.tsx - Activity workspace
apps/frontend/src/app/(crm)/tasks/page.tsx - Reports interface
apps/frontend/src/app/(crm)/reports/page.tsx
Identity and access
- Authentication
apps/backend/src/auth/auth.service.ts - User administration
apps/backend/src/users/users.service.ts - Role authorization
apps/backend/src/common/guards/roles.guard.ts
CRM operations
- Companies
apps/backend/src/companies/companies.service.ts - Customers
apps/backend/src/customers/customers.controller.ts - Products
apps/backend/src/products/products.controller.ts - Enquiries
apps/backend/src/enquiries/enquiries.controller.ts - Enquiry validation
apps/backend/src/enquiry-validations/enquiry-validations.service.ts - Lead pipeline
apps/backend/src/leads/leads.service.ts - Activity tracking
apps/backend/src/visits/visits.service.ts - Dashboard data
apps/backend/src/dashboard/dashboard.service.ts - Reporting and analysis
apps/backend/src/reports/reports.service.ts
Platform services
- NestJS API
apps/backend/src/app.module.ts - Notifications
apps/backend/src/notifications/notifications.service.ts - Import and uploads
apps/backend/src/common/services - Activity logging
apps/backend/src/common/services/activity-logger.service.ts - PostgreSQL
Other components
- CRM user
Connections 30
- CRM user → CRM interface: uses
README.md - CRM interface → NestJS API: requests API
README.md - NestJS API → Authentication: routes auth
- Authentication → PostgreSQL: reads and writes
apps/backend/src/auth/auth.service.ts - Authentication → Notifications: sends email
apps/backend/src/auth/auth.service.ts - NestJS API → Role authorization: guards routes
- NestJS API → Companies: routes records
- NestJS API → Customers: routes records
- NestJS API → Products: routes records
- NestJS API → Enquiries: routes records
- NestJS API → Enquiry validation: routes validation
- NestJS API → Lead pipeline: routes leads
- NestJS API → Activity tracking: routes activities
- NestJS API → Dashboard data: routes dashboard
- NestJS API → Reporting and analysis: routes reports
- NestJS API → User administration: routes users
- Companies → PostgreSQL: reads and writes
apps/backend/src/companies/companies.service.ts - Lead pipeline → PostgreSQL: reads and writes
- Activity tracking → PostgreSQL: reads and writes
- Reporting and analysis → PostgreSQL: queries data
- Customers → Import and uploads: imports and uploads
apps/backend/src/customers/customers.controller.ts - Companies → Import and uploads: imports and uploads
apps/backend/src/companies/companies.controller.ts - Products → Import and uploads: imports and uploads
apps/backend/src/products/products.controller.ts - Dashboard → CRM interface: renders in
- Sales workspace → CRM interface: renders in
- Activity workspace → CRM interface: renders in
- Reports interface → CRM interface: renders in
- User administration → PostgreSQL: reads and writes
- Authentication → Activity logging: records activity
apps/backend/src/auth/auth.service.ts - Companies → Activity logging: records activity
apps/backend/src/companies/companies.service.ts