An agent to diagnose and report issues in web servers and projects.
Project description
DMG Diagnostic Module: Integração do Agente de Diagnóstico ao Painel Cliente e Admin
📌 Visão Geral
O DMG Diagnostic Module é um módulo adicional integrado ao sistema existente que permite:
- Receber diagnósticos enviados pelo agente Python.
- Processar e classificar problemas automaticamente.
- Exibir resumo no painel do cliente.
- Desbloquear relatório completo após pagamento.
- Permitir análise e gestão no painel admin.
Este módulo não altera a arquitetura existente, apenas adiciona novas rotas, lógica de negócio e interfaces.
🏗️ Arquitetura
O fluxo é dividido em três camadas:
- Agente Python (externo)
- Backend (integração + processamento)
- Painéis (Cliente e Admin)
🔄 Fluxo Completo
- Cliente executa o agente no servidor.
- O agente envia um JSON estruturado para o backend.
- O backend valida e armazena o diagnóstico.
- O sistema calcula health score e severidade.
- O cliente visualiza resumo no painel.
- Após pagamento, relatório completo é desbloqueado.
- Admin pode visualizar e gerar proposta.
🧩 Endpoints Criados
POST /api/diagnostic/upload
Recebe o relatório do agente.
- Requisitos:
- Token obrigatório.
- Validação da estrutura JSON.
- Limite de tamanho.
- Registro de logs.
- Ações:
- Processa relatório.
- Calcula health score.
- Classifica severidade.
- Salva no banco.
GET /api/diagnostic/my-reports
Lista relatórios do cliente autenticado.
- Retorna:
iddatascoreseveridadestatus(locked/unlocked)
GET /api/diagnostic/:id
Retorna relatório específico.
- Se não pago → apenas resumo.
- Se pago → relatório completo.
GET /api/admin/diagnostic/all
Lista todos os relatórios (admin).
- Permite:
- Filtro por cliente.
- Filtro por severidade.
- Inserção de nota técnica.
- Geração de proposta.
🗄️ Estrutura do Banco
Tabela: diagnostics
| Campo | Tipo | Descrição |
|---|---|---|
id |
UUID | Identificador único |
user_id |
UUID | Cliente |
project_name |
string | Nome do projeto |
scan_type |
string | basic/deep |
health_score |
int | 0–100 |
severity_level |
string | low/medium/high/critical |
summary_json |
JSON | Resumo |
full_report_json |
JSON | Relatório completo |
is_unlocked |
boolean | Liberado após pagamento |
payment_status |
string | pending/paid |
admin_notes |
text | Observações internas |
created_at |
timestamp | Data |
🧠 Health Score
Score calculado com base em:
- Problemas críticos
- Erros de build
- Falhas SSL
- Vulnerabilidades
- Problemas de configuração
Exemplo:
100 – (10 x críticos) – (5 x altos) – (2 x médios)
Classificação:
- 90–100 → Saudável
- 70–89 → Atenção
- 40–69 → Risco
- 0–39 → Crítico
💰 Integração com Pagamento
Quando relatório é criado:
status=locked- Cliente vê apenas resumo.
Após pagamento (Stripe já existente):
is_unlocked=truepayment_status=paid- Relatório completo liberado.
🖥️ Painel do Cliente
Nova seção: Diagnóstico Técnico
- Página Histórico
- Lista de relatórios
- Score visual
- Status
- Botão "detalhes"
- Página Relatório
- Se
locked:- Mostrar resumo
- Botão "desbloquear"
- Se
unlocked:- Sistema
- SSL
- Projeto
- Build
- Segurança
- Recomendações
- Se
🧑💼 Painel Admin
Nova seção: Diagnostics
- Funcionalidades:
- Ver todos relatórios
- Filtros
- Notas técnicas
- Gerar orçamento
- Alterar valor manualmente
- Exportar PDF
🔐 Segurança
- Token obrigatório no upload.
- Rate limit.
- Limite de payload.
- Logs de auditoria.
- Relatórios armazenados criptografados.
- Nenhuma modificação no servidor do cliente.
📡 Estrutura do JSON Recebido
{
"agent_version": "1.0.0",
"scan_type": "deep",
"system": {},
"ssl": {},
"nginx": {},
"project": {},
"build": {},
"security": {},
"errors_summary": [],
"timestamp": ""
}
🚀 Preparado para Expansão SaaS
Estrutura permite:
- Monitoramento recorrente.
- Histórico evolutivo.
- Comparação entre scans.
- Plano mensal.
- Alertas automáticos.
📌 Dependências
- Sistema de autenticação já existente.
- Stripe já configurado.
- Banco de dados já ativo.
- Nenhuma refatoração estrutural necessária.
🎯 Resultado Final
O sistema passa a oferecer:
- Diagnóstico automatizado.
- Classificação inteligente.
- Monetização integrada.
- Gestão técnica centralizada.
- Base para produto SaaS DevOps.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dmg_diagnostic_agent-1.0.0.tar.gz.
File metadata
- Download URL: dmg_diagnostic_agent-1.0.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8eb1003917bcf1f666c0779622fab15f645c051b8f610297c32b81fca44ac2cf
|
|
| MD5 |
54b6f4255a68f087ab3323f5c36ab0bb
|
|
| BLAKE2b-256 |
93c0c16d02c9cf9090d3ec81f926fb5aedc3c8e57dc71faf99500e5317f6dab4
|
File details
Details for the file dmg_diagnostic_agent-1.0.0-py3-none-any.whl.
File metadata
- Download URL: dmg_diagnostic_agent-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
436d47b7b73968ab75afedc37c0858d65d8324ff6441e29055f386870f3bc831
|
|
| MD5 |
c190ee6a1a7340c73a7aa9f9e4bbc451
|
|
| BLAKE2b-256 |
5567ad302c27702ca2b2bbee29cd17ed39488c397e7172e8c3fd361f9941cb9e
|