# prashant272/whatapp-offical-prime architecture

> Architecture diagram of the GitHub repository prashant272/whatapp-offical-prime, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/prashant272/whatapp-offical-prime
- Repository: https://github.com/prashant272/whatapp-offical-prime

## Overview

WhatsApp Official Prime is a multi-account customer-engagement CRM: staff manage leads and conversations, send messages or campaigns, and automate replies and follow-ups. The web dashboard and mobile chat client use a Node/Express backend; MongoDB holds business state, while Meta provides WhatsApp messaging and webhooks. The graph preserves major documented capabilities, but several UI-to-controller and controller-to-model links are inferred only at the subsystem level because their implementations were not sampled.

Main entry points: [`backend/server.js`](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/server.js) (HTTP and socket server), [`frontend/src/api.js`](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/api.js) (API client), [`backend/services/whatsappService.js`](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/services/whatsappService.js) (WhatsApp API service), [`backend/models/Contact.js`](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/models/Contact.js) (CRM records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["Staff clients"]
  node_web["Web dashboard<br/>[App.jsx]"]
  node_mobile["Mobile chat app<br/>[App.js]"]
  node_contact_ui["Lead management"]
  node_chat_ui["Chat dashboard<br/>[ChatModule.jsx]"]
  node_campaign_ui["Campaign manager"]
  node_reply_ui["Reply automation"]
  node_email_ui["Email manager<br/>[EmailManager.jsx]"]
  node_activity_ui["Activity reporting"]
  node_api_client["API client<br/>[api.js]"]
  node_mobile_api["Mobile API client<br/>[api.js]"]
end

subgraph group_api["Backend API"]
  node_server["HTTP and socket server<br/>[server.js]"]
  node_chat_ctrl["Conversation handling<br/>[chatController.js]"]
  node_contact_ctrl["Contact handling"]
  node_webhook_ctrl["Inbound webhook"]
  node_campaign_ctrl["Campaign handling"]
  node_automation_ctrl["Automation rules"]
end

subgraph group_engagement["Messaging automation"]
  node_whatsapp_service["WhatsApp API service<br/>[whatsappService.js]"]
  node_cron["Follow-up worker<br/>[automationCron.js]"]
  node_socket["Realtime events<br/>[socket.js]"]
  node_email_service["Email delivery<br/>[emailService.js]"]
end

subgraph group_state["Data and integrations"]
  node_mongo[("MongoDB<br/>[db.js]")]
  node_models[("CRM records<br/>[Contact.js]")]
  node_meta["Meta WhatsApp Cloud API"]
  node_email_provider["Email provider"]
end

node_staff(("Staff user"))

node_staff -->|"uses"| node_web
node_staff -->|"uses"| node_mobile
node_web -->|"requests"| node_api_client
node_contact_ui -->|"fetches leads"| node_api_client
node_chat_ui -->|"sends chat requests"| node_api_client
node_campaign_ui -->|"manages campaigns"| node_api_client
node_reply_ui -->|"configures replies"| node_api_client
node_email_ui -->|"manages email"| node_api_client
node_activity_ui -->|"loads reports"| node_api_client
node_mobile -->|"requests"| node_mobile_api
node_api_client -->|"calls API"| node_server
node_mobile_api -->|"calls API"| node_server
node_server -->|"connects"| node_mongo
node_server -->|"initializes"| node_socket
node_server -->|"starts worker"| node_cron
node_server -->|"routes chat requests"| node_chat_ctrl
node_server -->|"routes contact requests"| node_contact_ctrl
node_server -->|"routes campaign requests"| node_campaign_ctrl
node_server -->|"routes automation requests"| node_automation_ctrl
node_server -->|"routes webhook requests"| node_webhook_ctrl
node_chat_ctrl -->|"sends messages"| node_whatsapp_service
node_contact_ctrl -->|"verifies and blocks"| node_whatsapp_service
node_webhook_ctrl -->|"sends auto-replies"| node_whatsapp_service
node_campaign_ctrl -->|"sends campaign messages"| node_whatsapp_service
node_cron -->|"sends follow-ups"| node_whatsapp_service
node_whatsapp_service -->|"sends WhatsApp traffic"| node_meta
node_meta -->|"posts inbound events"| node_server
node_chat_ctrl -->|"emits chat events"| node_socket
node_socket -->|"notifies live clients"| node_web
node_chat_ctrl -->|"updates conversations"| node_models
node_contact_ctrl -->|"manages contacts"| node_models
node_campaign_ctrl -->|"records campaigns"| node_models
node_automation_ctrl -->|"stores follow-up rules"| node_models
node_cron -->|"scans due rules"| node_models
node_models -->|"persists records"| node_mongo
node_email_ui -.->|"configures delivery"| node_email_service
node_email_service -.->|"delivers email"| node_email_provider

click node_web "https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/App.jsx"
click node_mobile "https://github.com/prashant272/whatapp-offical-prime/blob/main/mobile/App.js"
click node_contact_ui "https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/ContactManager/ContactManagerMain.jsx"
click node_chat_ui "https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/ChatModule.jsx"
click node_campaign_ui "https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/CampaignManager.jsx"
click node_reply_ui "https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/AutoReplyManager.jsx"
click node_email_ui "https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/EmailManager.jsx"
click node_activity_ui "https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/ActivityLog/ActivityManager.jsx"
click node_api_client "https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/api.js"
click node_mobile_api "https://github.com/prashant272/whatapp-offical-prime/blob/main/mobile/src/api.js"
click node_server "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/server.js"
click node_chat_ctrl "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/chatController.js"
click node_contact_ctrl "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/contactController.js"
click node_webhook_ctrl "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/webhookController.js"
click node_campaign_ctrl "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/campaignController.js"
click node_automation_ctrl "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/followUpController.js"
click node_whatsapp_service "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/services/whatsappService.js"
click node_cron "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/utils/automationCron.js"
click node_socket "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/utils/socket.js"
click node_email_service "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/services/emailService.js"
click node_mongo "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/config/db.js"
click node_models "https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/models/Contact.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_web,node_mobile,node_contact_ui,node_chat_ui,node_campaign_ui,node_reply_ui,node_email_ui,node_activity_ui,node_api_client,node_mobile_api,node_staff toneBlue
class node_server,node_chat_ctrl,node_contact_ctrl,node_webhook_ctrl,node_campaign_ctrl,node_automation_ctrl toneAmber
class node_whatsapp_service,node_cron,node_socket,node_email_service toneMint
class node_mongo,node_models,node_meta,node_email_provider toneRose
```

## Components

### Staff clients

- [Web dashboard](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Mobile chat app](https://github.com/prashant272/whatapp-offical-prime/blob/main/mobile/App.js): `mobile/App.js`
- [Lead management](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/ContactManager/ContactManagerMain.jsx): `frontend/src/components/ContactManager/ContactManagerMain.jsx`
- [Chat dashboard](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/ChatModule.jsx): `frontend/src/components/ChatModule.jsx`
- [Campaign manager](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/CampaignManager.jsx): `frontend/src/components/CampaignManager.jsx`
- [Reply automation](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/AutoReplyManager.jsx): `frontend/src/components/AutoReplyManager.jsx`
- [Email manager](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/EmailManager.jsx): `frontend/src/components/EmailManager.jsx`
- [Activity reporting](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/components/ActivityLog/ActivityManager.jsx): `frontend/src/components/ActivityLog/ActivityManager.jsx`
- [API client](https://github.com/prashant272/whatapp-offical-prime/blob/main/frontend/src/api.js): `frontend/src/api.js`
- [Mobile API client](https://github.com/prashant272/whatapp-offical-prime/blob/main/mobile/src/api.js): `mobile/src/api.js`

### Backend API

- [HTTP and socket server](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/server.js): `backend/server.js`
- [Conversation handling](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/chatController.js): `backend/controllers/chatController.js`
- [Contact handling](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/contactController.js): `backend/controllers/contactController.js`
- [Inbound webhook](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/webhookController.js): `backend/controllers/webhookController.js`
- [Campaign handling](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/campaignController.js): `backend/controllers/campaignController.js`
- [Automation rules](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/controllers/followUpController.js): `backend/controllers/followUpController.js`

### Messaging automation

- [WhatsApp API service](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/services/whatsappService.js): `backend/services/whatsappService.js`
- [Follow-up worker](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/utils/automationCron.js): `backend/utils/automationCron.js`
- [Realtime events](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/utils/socket.js): `backend/utils/socket.js`
- [Email delivery](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/services/emailService.js): `backend/services/emailService.js`

### Data and integrations

- [MongoDB](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/config/db.js): `backend/config/db.js`
- [CRM records](https://github.com/prashant272/whatapp-offical-prime/blob/main/backend/models/Contact.js): `backend/models/Contact.js`
- **Meta WhatsApp Cloud API**
- **Email provider**

### Other components

- **Staff user**

## Connections

- Staff user → Web dashboard: uses
- Staff user → Mobile chat app: uses
- Web dashboard → API client: requests
- Lead management → API client: fetches leads
- Chat dashboard → API client: sends chat requests
- Campaign manager → API client: manages campaigns
- Reply automation → API client: configures replies
- Email manager → API client: manages email
- Activity reporting → API client: loads reports
- Mobile chat app → Mobile API client: requests
- API client → HTTP and socket server: calls API
- Mobile API client → HTTP and socket server: calls API
- HTTP and socket server → MongoDB: connects
- HTTP and socket server → Realtime events: initializes
- HTTP and socket server → Follow-up worker: starts worker
- HTTP and socket server → Conversation handling: routes chat requests
- HTTP and socket server → Contact handling: routes contact requests
- HTTP and socket server → Campaign handling: routes campaign requests
- HTTP and socket server → Automation rules: routes automation requests
- HTTP and socket server → Inbound webhook: routes webhook requests
- Conversation handling → WhatsApp API service: sends messages
- Contact handling → WhatsApp API service: verifies and blocks
- Inbound webhook → WhatsApp API service: sends auto-replies
- Campaign handling → WhatsApp API service: sends campaign messages
- Follow-up worker → WhatsApp API service: sends follow-ups
- WhatsApp API service → Meta WhatsApp Cloud API: sends WhatsApp traffic
- Meta WhatsApp Cloud API → HTTP and socket server: posts inbound events
- Conversation handling → Realtime events: emits chat events
- Realtime events → Web dashboard: notifies live clients
- Conversation handling → CRM records: updates conversations
- Contact handling → CRM records: manages contacts
- Campaign handling → CRM records: records campaigns
- Automation rules → CRM records: stores follow-up rules
- Follow-up worker → CRM records: scans due rules
- CRM records → MongoDB: persists records
- Email manager → Email delivery: configures delivery
- Email delivery → Email provider: delivers email
