How qrzaldemir/ecochatbot-ma works
EcoChatBot-MA is a configurable digital customer-service platform: customers enter through messaging channels, select a configured service menu, provide information through its flow, and are routed to a responsible agent for resolution. The web panel supports live service and administration, alongside reporting, campaigns, AI, audio, and other channel integrations. Paths and links reflect the tree and README; sampled code confirms login handling, while detailed wiring for most subsystems was not sampled.
Main entry points: bot_service.py Bot workflow · main.py FastAPI application · app.component.ts Angular panel · auths_routers.py Authentication routes
Components 21
Web panel
- Angular panel
frontend/src/app/app.component.ts - Admin and chat
frontend/src/app/features/admin/admin.routes.ts - Panel API services
frontend/src/app/core/services/atendimento.service.ts - Session and login
frontend/src/app/core/services/auth.service.ts
API and security
- FastAPI application
backend/app/main.py - Authentication routes
backend/app/routers/auths_routers.py - JWT and password security
backend/app/services/auth_service.py - PostgreSQL
backend/app/database.py - Webhook and message routes
backend/app/routers/webhook_routers.py
Service workflow
- Bot workflow
backend/app/services/bot_service.py - Bot handlers
backend/app/services/bot_handlers - Service handling
backend/app/services/atendimento_service.py - Channels and departments
backend/app/services/canal_service.py - Campaigns and reporting
backend/app/services/campanhas_service.py - AI assistance
backend/app/services/deepseek_service.py
Channels and integrations
- Channel integrations
backend/app/integrations/whatsapp_integration.py - Audio and speech
backend/app/services/audio_service.py
Other components
- Customer
- Attendant
- Administrator
- Messaging channel
Connections 22
- Administrator → Angular panel: uses panel
- Attendant → Angular panel: handles conversations
- Angular panel → Admin and chat: renders routes
- Admin and chat → Panel API services: uses services
- Panel API services → FastAPI application: sends API requests
- Angular panel → Session and login: starts login
- Session and login → Authentication routes: posts credentials
- FastAPI application → Authentication routes: registers routes
- Authentication routes → PostgreSQL: queries user
- Authentication routes → JWT and password security: verifies and signs
- Customer → Messaging channel: sends message
- Messaging channel → Webhook and message routes: delivers inbound event
- Webhook and message routes → Bot workflow: dispatches message
- Bot workflow → Bot handlers: routes interaction
- Bot workflow → Service handling: opens service
- Bot workflow → Channels and departments: uses configured channels
- Service handling → Attendant: presents conversation
- Bot workflow → Channel integrations: sends channel replies
- Campaigns and reporting → Channel integrations: broadcasts messages
- Bot workflow → AI assistance: requests assistance
- FastAPI application → Campaigns and reporting: registers domain routes
- FastAPI application → Audio and speech: registers audio routes