How arjunsingh-7/crm-taskflow works
TaskFlow AI is a multi-tenant team workspace combining project and task management, a CRM pipeline, chat, analytics, and AI assistance. The main flow is a user action in the React client, authenticated backend request, business logic, and persistent data access; real-time changes also reach workspace users through WebSocket. README documents major capabilities and infrastructure, but most service/controller wiring was not sampled, so the graph uses documented layer relationships and leaves uncertain module-specific calls out.
Main entry points: controller REST controllers · repository JPA repositories · AIInsightService.java AI insights · ChatMessageService.java Team chat
Components 21
Web client
- React application
crm-frontend/src/App.jsx - CRM pipeline UI
crm-frontend/src/pages/CRMPipeline.jsx - Authentication hook
crm-frontend/src/hooks/useAuth.js
API and access
- REST controllers
crm-backend/src/main/java/com/arjun/crm/controller - JWT security
crm-backend/src/main/java/com/arjun/crm/security/JwtAuthenticationFilter.java - Workspace authorization
crm-backend/src/main/java/com/arjun/crm/security/WorkspaceAuthorizationService.java
Workspace capabilities
- Authentication service
crm-backend/src/main/java/com/arjun/crm/service/AuthService.java - Workspace management
crm-backend/src/main/java/com/arjun/crm/service/WorkspaceService.java - Projects and tasks
crm-backend/src/main/java/com/arjun/crm/service/TaskService.java - Lead pipeline
crm-backend/src/main/java/com/arjun/crm/service/LeadService.java - Team chat
crm-backend/src/main/java/com/arjun/crm/service/ChatMessageService.java - AI insights
crm-backend/src/main/java/com/arjun/crm/service/AIInsightService.java - Analytics and reports
crm-backend/src/main/java/com/arjun/crm/service/AnalyticsService.java - Notifications
crm-backend/src/main/java/com/arjun/crm/service/NotificationService.java - AI provider client
crm-backend/src/main/java/com/arjun/crm/ai/provider/XAIProvider.java
Persistence and state
- JPA repositories
crm-backend/src/main/java/com/arjun/crm/repository - PostgreSQL
- Redis cache and presence
crm-backend/src/main/java/com/arjun/crm/config/RedisConfig.java
External services
- STOMP messaging
crm-backend/src/main/java/com/arjun/crm/config/WebSocketConfig.java - Groq AI API
Other components
- Workspace user
Connections 29
- Workspace user → React application: uses
- React application → REST controllers: HTTPS requests
- Authentication hook → REST controllers: login requests
- CRM pipeline UI → REST controllers: lead requests
- REST controllers → JWT security: authenticates
- REST controllers → Workspace authorization: checks access
- REST controllers → Authentication service: routes auth
- REST controllers → Workspace management: routes workspace
- REST controllers → Projects and tasks: routes tasks
- REST controllers → Lead pipeline: routes leads
- REST controllers → Team chat: routes chat
- REST controllers → AI insights: routes insights
- REST controllers → Analytics and reports: routes analytics
- REST controllers → Notifications: routes notifications
- Authentication service → JPA repositories: accesses data
- Workspace management → JPA repositories: accesses data
- Projects and tasks → JPA repositories: accesses data
- Lead pipeline → JPA repositories: accesses data
- Team chat → JPA repositories: accesses data
- AI insights → JPA repositories: queries workspace data
- Analytics and reports → JPA repositories: queries metrics
- Notifications → JPA repositories: stores notifications
- JPA repositories → PostgreSQL: reads and writes
- AI insights → Redis cache and presence: caches insights
- Team chat → STOMP messaging: publishes messages
- Notifications → STOMP messaging: delivers alerts
- STOMP messaging → React application: broadcasts events
- AI insights → AI provider client: requests explanations
- AI provider client → Groq AI API: calls model