Descrição do Projeto:
1) Visão & Objetivo
Criar uma plataforma (mobile + web) para planejar, executar, auditar e comprovar atividades normativas de SST (NR 10, NR 20, NR 33, NR 35, Brigada, Extintores, etc.), incluindo checklists, OS (ordens de serviço), treinamentos, inspeções, certificados com assinatura digital e chave de validação, fotos, geolocalização, gestão de evidências e relatórios para auditorias (CREA/MTE/CBPMESP/seguradoras/ISO).
2) Personas & Perfis de Acesso
Diretor/Administrador (Paes Leme/Juslaine): configura normas, produtos/serviços, contratos, usuários, preços, regras de certificação.
Coordenador de Operações: agenda equipes, cria OS, aprova registros, libera certificados/relatórios.
Técnico/Instrutor/Resgate (campo): executa checklists, coleta evidências, aplica treinamentos, inspeções de extintores, assina via app.
Cliente Empresa (gestor de SST): acessa portal com relatórios, certificados, evidências, pendências e vencimentos.
Auditor/Visitante (link de validação): consulta autenticidade de certificados/laudos por QR/URL/chave pública.
Papéis e permissões (matriz simplificada):
Admin: total
Coordenação: criar/editar OS, aprovar registros, emitir documentos.
Campo: registrar/editar suas atividades; sem acesso a preços.
Cliente: leitura de seus projetos/documentos; upload restrito.
Auditor: leitura/validação específica via link público.
3) Módulos Funcionais (MVP e Roadmap)
Cadastro & Gestão
Empresas, Unidades, Áreas, Pontos de Risco/Ativos (tanques GLP, espaços confinados, linhas de vida, extintores, máquinas NR 12).
Pessoas: colaboradores, alunos, brigadistas, terceiros (com RG/CPF/CREA, funções, certificações e vencimentos).
Assinaturas Digitais & Biometria (screen/sign).
Assinatura do técnico, responsável do cliente e participantes (coleta no app).
Carimbo de tempo, IP, GPS, hash do documento.
Certificados & Relatórios
Emissão automática a partir dos checklists/treinamentos.
Chave única de validação + QR Code – página pública de verificação.
Modelos (NR 33/35/10, Brigada, Laudos de inspeção, Relatório de visita).
Gestão de Treinamentos
Turmas (datas, carga horária, instrutores), lista de presença digital, provas (objetivas), notas, presença mínima.
Geração de certificados individuais; controle de validade (alertas).
Portal do Cliente & Validação Pública
Acesso a documentos, certificados, pendências e cronograma de adequações.
Painel Gerencial (BI inicial)
KPIs: OS abertas/fechadas, NCs por norma, produtividade por equipe, vencimentos próximos, horas treinadas.
Fluxos Críticos (E2E)
4.1 Execução de Treinamento NR 35 (exemplo)
Coordenação cria OS + Turma (local CT/cliente, carga horária, instrutor).
App baixa a OS offline para o instrutor.
Instrutor faz check-in (GPS), registra lista de presença, aplica prova.
App gera certificados com chave + QR; coleta assinaturas dos alunos.
Cliente recebe link do relatório e certificados; sistema agenda alerta de validade.
Requisitos Funcionais (detalhe)
RF 01 Usuários, papéis e RBAC.
RF 02 Cadastro de clientes, sites, ativos e pessoas (com import CSV).
RF 03 Templates de checklist editáveis com lógica condicional, pesos e notas.
RF 04 Execução offline-first (sync confiável em 2 vias).
RF 05 Assinatura digital (screen/sign + carimbo de tempo; futuro ICP Brasil opcional).
RF 06 Certificados com chave e URL pública de verificação.
RF 07 QR/NFC para ativos e certificados.
RF 08 Anexos: fotos (compressão automática), vídeos curtos, PDFs.
RF 09 Relatórios: PDF/CSV/Excel com log completo de auditoria.
RF 10 Notificações: push/email/WhatsApp (via provedor) para vencimentos e pendências.
RF 11 Provas: objetivos, banco de questões, gabarito, nota mínima.
RF 12 Etiquetas: geração e impressão (Zebra/thermal), lote e numeração.
RF 13 Geolocalização: check-in/out, trilha opcional por OS.
RF 14 API pública para integração (ERP/BI).
RF 15 Portal do Cliente (SaaS multiempresa, segregação de dados).
Arquitetura Sugerida
Mobile: Flutter (1 codebase, plugins maduros para câmera, NFC, QR).
Web Admin/Cliente: React + Next.js.
Backend: Node.js (NestJS) ou Python (FastAPI);
Banco: PostgreSQL (+ PostGIS para geo); Redis para filas/cache; S3 para arquivos.
Sync: fila idempotente (RabbitMQ/Redis Streams) + estratégia de “conflict resolution”.
Assinaturas/Hash: geração de hash SHA 256 e carimbo de tempo; ICP Brasil (Fase 2).
Relatórios: serviço de render (Chromium headless – PDF).
Etiquetas: serviço para ZPL (impressoras térmicas).
API: REST + Webhooks; OAuth2/JWT multi-tenant.
Modelo de Dados (alto nível)
Empresa(id, nome, CNPJ, endereço, responsáveis).
Unidade/Site(id, empresa_id, endereço, mapas).
Pessoa(id, nome, CPF/RG/CREA, função, certificados[]).
Ativo(id, tipo: extintor/tanque/linha de vida/EC, tag_QR/NFC, local, status).
OS(id, empresa_id, site_id, norma, equipe[], janelas, status).
Checklist(id, template_id, OS_id, respostas, evidências[], score).
Treinamento/Turma(id, norma, carga_h, instrutores[], alunos[], presença, prova).
Certificado(id, pessoa_id, turma_id/OS_id.