How ddm700/callcenteria-ddm works
Callcenter IA is a campaign-driven AI calling and collections operations dashboard. Operators create campaigns, manage/import contacts, dispatch calls, and review call records, quality, agreements/KPIs, reports, settings, and logs. The frontend has both a Supabase-facing service layer and HTTP API calls; the repository also contains two backend implementations, one focused on general call operations and another on queued VAPI campaign imports/dispatch. Edges are limited to explicit route wiring, indexed references, and shown calls; several page-level and backend internals were not sampled.
Main entry points: App.tsx Dashboard router · supabaseService.ts Supabase data service · supabase.ts Admin database client · app.ts Express route registry
Components 34
Operator interface
- Dashboard router
App.tsx - Campaign management
pages/Campaigns.tsx - Contact management
pages/Contacts.tsx - Call history
pages/Calls.tsx - Call details
components/CallDetailsModal.tsx - Quality review
pages/Quality.tsx - Reports
pages/Reports.tsx - Agreement KPIs
pages/KpiAcordos.tsx - Settings
pages/Settings.tsx - System logs
pages/Logs.tsx - UI components
components/ui.tsx
Frontend services
- Supabase data service
services/supabaseService.ts - API service
services/api.ts - VAPI service
services/vapiService.ts - Log service
services/logService.ts - HTTP client
lib/apiClient.ts - Supabase client
lib/supabaseClient.ts
Call operations API
- Express route registry
backend/src/app.ts - Call routes
backend/src/routes/calls.ts - Campaign routes
backend/src/routes/campaigns.ts - Contact routes
backend/src/routes/contacts.ts - VAPI routes
backend/src/routes/vapi.ts - Webhook routes
backend/src/routes/webhooks.ts - Call dispatch service
backend/src/services/callDispatch.ts - Admin database client
backend/src/lib/supabase.ts
VAPI campaign dispatch
- VAPI campaign API
backend_vapi/src/routes.ts - Spreadsheet parser
backend_vapi/src/utils/excel.ts - Campaign repository
backend_vapi/src/repo.ts - Dispatch queue
backend_vapi/src/queue.ts - VAPI integration
backend_vapi/src/vapi.ts - Queue worker
backend_vapi/src/worker.ts
Other components
- Operator
- Supabase data store
- Dispatch database
Connections 43
- Operator → Dashboard router: uses
App.tsx - Dashboard router → Campaign management: routes to
App.tsx - Dashboard router → Contact management: routes to
App.tsx - Dashboard router → Call history: routes to
App.tsx - Dashboard router → Reports: routes to
App.tsx - Dashboard router → Agreement KPIs: routes to
App.tsx - Dashboard router → Quality review: routes to
App.tsx - Dashboard router → Settings: routes to
App.tsx - Dashboard router → System logs: routes to
App.tsx - Call history → Call details: opens details
pages/Calls.tsx - Campaign management → Supabase data service: uses
pages/Campaigns.tsx - Contact management → Supabase data service: uses
pages/Contacts.tsx - Call history → Supabase data service: uses
pages/Calls.tsx - Quality review → Supabase data service: uses
pages/Quality.tsx - Campaign management → VAPI service: uses
pages/Campaigns.tsx - Campaign management → API service: uses
pages/Campaigns.tsx - Contact management → API service: uses
pages/Contacts.tsx - Supabase data service → Supabase client: queries
services/supabaseService.ts - Supabase data service → HTTP client: requests
services/supabaseService.ts - Log service → Supabase client: reads and writes
services/logService.ts - API service → HTTP client: requests
services/api.ts - VAPI service → HTTP client: requests
services/vapiService.ts - Supabase client → Supabase data store: connects
lib/supabaseClient.ts - Express route registry → Call routes: mounts
backend/src/app.ts - Express route registry → Campaign routes: mounts
backend/src/app.ts - Express route registry → Contact routes: mounts
backend/src/app.ts - Express route registry → VAPI routes: mounts
backend/src/app.ts - Express route registry → Webhook routes: mounts
backend/src/app.ts - Call routes → Call dispatch service: calls
backend/src/routes/calls.ts - Campaign routes → Call dispatch service: calls
backend/src/routes/campaigns.ts - Call routes → Admin database client: queries
backend/src/routes/calls.ts - Campaign routes → Admin database client: queries
backend/src/routes/campaigns.ts - Contact routes → Admin database client: queries
backend/src/routes/contacts.ts - VAPI routes → Admin database client: queries
backend/src/routes/vapi.ts - Webhook routes → Admin database client: writes
backend/src/routes/webhooks.ts - Admin database client → Supabase data store: connects
backend/src/lib/supabase.ts - VAPI campaign API → Spreadsheet parser: parses imports
backend_vapi/src/routes.ts - VAPI campaign API → Campaign repository: manages records
backend_vapi/src/routes.ts - VAPI campaign API → Dispatch queue: enqueues calls
backend_vapi/src/routes.ts - VAPI campaign API → VAPI integration: lists resources
backend_vapi/src/routes.ts - Queue worker → Dispatch queue: consumes
backend_vapi/src/worker.ts - Queue worker → Campaign repository: updates records
backend_vapi/src/worker.ts - Campaign repository → Dispatch database: persists