How adilmoon/tirekcrm works
Tirek CRM is a Kazakhstani small-business CRM with a Next.js workspace and a NestJS API backed by PostgreSQL. Users manage clients and orders, record payments and expenses, create draft documents, and coordinate work through tasks, scheduling, notifications, and Telegram. A key workflow is staff preparing an order from a customer message, managing its QR passport, and sharing a public status/confirmation link. The graph combines sampled call relationships with README-documented capabilities; unsampled feature internals are represented at their existing subsystem paths.
Main entry points: tasks.service.ts Tasks and discussion · database.service.ts Database access · api.ts API client · workspace.tsx Workspace UI
Components 25
Workspace
- Workspace UI
frontend/app/workspace.tsx - Task workspace
frontend/features/tasks.tsx - API client
frontend/lib/api.ts - Localization
frontend/i18n/provider.tsx
Orders and finance
- CRM API
backend/src/modules/crm/crm.controller.ts - Clients and orders
backend/src/modules/crm/crm.service.ts - Message orders
backend/src/modules/smart-orders/message-orders.service.ts - QR passports
backend/src/modules/smart-orders/passport.service.ts - Invoices and acts
backend/src/modules/documents - Finance and reports
backend/src/modules/finance
Team operations
- Tasks and discussion
backend/src/modules/tasks/tasks.service.ts - Scheduling
backend/src/modules/scheduling/scheduling.service.ts - Team management
backend/src/modules/team/team.service.ts - Notifications
backend/src/modules/notifications/notifications.service.ts - Telegram integration
backend/src/modules/telegram
Platform services
- Company onboarding
backend/src/modules/onboarding/onboarding.service.ts - Authentication
backend/src/auth/auth.service.ts - Audit trail
backend/src/modules/audit/audit.service.ts - Privacy requests
backend/src/modules/privacy-requests/privacy-requests.service.ts - Mail queue
backend/src/modules/mail/mail-queue.ts - Database access
backend/src/database/database.service.ts
Other components
- CRM user
- PostgreSQL
- Customer
- Telegram
Connections 32
- CRM user → Workspace UI: uses
- Workspace UI → Localization: renders with
frontend/i18n/provider.tsx - Workspace UI → API client: requests through
- Task workspace → API client: calls
frontend/features/tasks.tsx - API client → CRM API: sends API requests
- API client → Tasks and discussion: sends task requests
- Customer → CRM user: provides order message
- CRM user → Message orders: prepares order from message
- Message orders → QR passports: manages order passport
backend/src/modules/smart-orders/smart-orders.controller.ts - CRM user → CRM API: manages clients and orders
backend/src/modules/crm/crm.controller.ts - CRM API → Clients and orders: delegates to
backend/src/modules/crm/crm.controller.ts - Clients and orders → Database access: reads and writes
backend/src/modules/crm/crm.service.ts - CRM user → Finance and reports: records payments and expenses
- CRM user → Invoices and acts: creates draft documents
- CRM user → Tasks and discussion: manages tasks
- Tasks and discussion → Notifications: notifies about assignments and changes
- Tasks and discussion → Scheduling: reserves work time
- CRM user → Team management: manages team
- Team management → Tasks and discussion: assigns work
- Telegram → Telegram integration: long polls
- Telegram integration → Tasks and discussion: opens employee tasks
- Telegram integration → QR passports: submits result photos
- CRM user → Company onboarding: registers company
- Company onboarding → Authentication: creates owner account
backend/src/modules/onboarding/onboarding.controller.ts - Authentication → Mail queue: enqueues account mail
backend/src/auth/auth.service.ts - Authentication → Audit trail: records account events
backend/src/auth/auth.service.ts - CRM user → Privacy requests: submits privacy request
- Clients and orders → Audit trail: records changes
backend/src/modules/crm/crm.service.ts - Finance and reports → Database access: reads and writes
backend/src/modules/finance/finance.service.ts - Tasks and discussion → Database access: uses persistence
- Scheduling → Database access: uses persistence
- Database access → PostgreSQL: connects through Prisma
backend/src/database/database.service.ts