feat: Cria filas ao receber requisição | Nomes amigáveis para filas | Componente para definir nome da fila. |
||
|---|---|---|
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| README.md | ||
| artisan | ||
| composer.json | ||
| composer.lock | ||
| jsconfig.json | ||
| package-lock.json | ||
| package.json | ||
| phpunit.xml | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| vite.config.js | ||
README.md
OmniBoard 📊
🚀 Sobre o Projeto
O OmniBoard é uma solução de monitoramento de performance para Call Centers e Centrais de Atendimento. O objetivo é acabar com a "caixa preta" da telefonia, transformando eventos brutos do PABX e do WhatsApp em métricas visuais em tempo real para gestores.
Diferente de soluções monolíticas que rodam dentro do servidor do cliente, o OmniBoard utiliza uma arquitetura SaaS (Software as a Service). Um agente leve coleta os dados localmente e os transmite para uma nuvem centralizada, garantindo escalabilidade, segurança e baixo consumo de recursos no servidor de telefonia.
🏗 Arquitetura
O sistema é dividido em dois componentes principais para resolver o problema de conectividade (NAT/VPN) e escalabilidade:
1. The Cloud Core (Servidor)
Hospedado na nuvem (VPS), é o cérebro da operação.
- Stack: Laravel 12 + MySQL + Redis.
- Responsabilidade: Receber dados via API, gerenciar múltiplos inquilinos (Multi-tenant), processar histórico e servir o Dashboard via WebSockets.
2. The Local Agent (Cliente)
Um script leve em PHP Puro que roda dentro do servidor FreePBX/Asterisk do cliente.
- Stack: PHP 7.4 (Nativo do FreePBX) com Sockets TCP.
- Conexão: Conecta-se ao AMI (Asterisk Manager Interface) na porta 5038.
- Responsabilidade: "Escutar" eventos (Entrada em fila, Pausas, Abandonos), filtrar e transmitir via HTTPS para o Cloud Core.
- Segurança: Opera apenas com saída de dados (Outbound), sem necessidade de abrir portas no firewall do cliente ou configurar VPNs complexas.
✨ Funcionalidades
- Monitoramento de Filas em Tempo Real:
- Visualização de clientes aguardando na fila.
- Tempo médio de espera (TME).
- Alertas visuais de gargalos.
- Gestão de Agentes:
- Status ao vivo (Disponível, Falando, Pausado, Deslogado).
- Identificação de pausas excessivas.
- Integração WhatsApp (HelenaCRM):
- Unificação das métricas de atendimento via chat no mesmo painel da voz.
- Métricas Críticas:
- Contador de Chamadas Abandonadas (Lost Calls).
- Nível de Serviço (SLA).
🛠 Tecnologias Utilizadas
- Backend: Laravel 12
- Frontend: Vue.js / Blade Templates
- Real-time: Laravel Reverb / WebSockets
- Coleta de Dados: PHP Streams (fsockopen) para conexão AMI raw.
- Infraestrutura: Vultr VPS (Linux)
🔄 Fluxo de Dados
graph LR
A[Asterisk Server] -- AMI Event (TCP 5038) --> B(Agente PHP Local)
B -- JSON / POST (HTTPS) --> C{Laravel Cloud API}
C -- Store --> D[(Database)]
C -- Broadcast --> E(WebSocket Server)
E -- Push --> F[Navegador do Gestor]
>>>>>>> b3ca2fa0a9321407a81a23c65366e37298548044