4.1 KiB
4.1 KiB
MEMORY.md - Contexto de Desenvolvimento
📅 Estado Atual (21/04/2026)
- Correção do "Bug da Tela Preta" na câmera ao alternar para câmera traseira no celular.
- Unificação do servidor de produção: Dockerfile agora utiliza
server.selfhosted.js(Manager e Portal). - Correção dos Cards de Monitoramento (PostgreSQL/MinIO) com tratativa de erro independente.
- Vacina de cache global: Injeção de
normalizePhotoUrlnos módulos de Boletim, Turmas e Frequência. - Estabilização do Build ARM64: Injeção de
max_old_space_size=4096nos Dockerfiles para evitar crashes do Vite no Github Actions. - Correção de Rota Express 5: Migração de curingas
*para Regex para evitar falhas de inicialização no servidor. - Próximo Passo: Validar o tempo de build no Github Actions e confirmar o carregamento das fotos na VPS Oracle.
💳 Módulo Financeiro (Portal do Aluno)
- Funcionalidades Implementadas:
- Cards de resumo (Total em Aberto, Pago, Parcelas).
- Listagem inteligente de pagamentos com labels dinâmicas (ex: "Parcela 1/3").
- Lógica de normalização de status:
pago,pendente,atrasado,cancelado. - Integração dupla para boletos: busca via ID do Asaas e fallback por data/valor no Supabase.
- Visualização de recibos via link externo ou modal de impressão local.
- Onde paramos: O sistema de filtros e ordenação está funcional, sincronizando com os parâmetros da URL.
⚙️ Módulo de Configurações e Infra (Manager)
- Arquitetura de Armazenamento: Implementada a transição para Self-Hosted Storage (MinIO).
- Extração de Base64 concluída com sucesso via
migrate_images_to_minio.ts. - O banco de dados de produção (PostgreSQL Local) foi populado com sucesso absoluto na VPS através da rota
/api/migracao-remotautilizando o scriptinjetar_magia.ts. - O sistema agora é 100% Self-Hosted (PostgreSQL e MinIO próprios), sem dependência da nuvem do Supabase.
- Extração de Base64 concluída com sucesso via
- Funcionalidades de Configuração:
- Gestão multi-unidade (Alternância entre Matriz e Filiais).
- Validação de CNPJ e busca automática via CEP.
- Monitoramento de logs de API em tempo real.
- Histórico de Estabilidade:
- O sistema voltou para o último estado "verde" conhecido.
- Refatoração de Uploads (Missão 2):
- Foto do Aluno (Manager): Migrado de Base64 para envio via
FormDatadireto ao MinIO no componenteStudents.tsx. - Logo da Escola (Settings): Removido falback agressivo para base64 e isolado backend para upload exclusivo no bucket
logos. - Imagens de Avaliações (Exams): Ajustado para utilizar Rota isolada
form-datapara salvar no bucketexamesdo MinIO. - Atestados (Portal): Refatorado portal (backend e view) para upload do arquivo binário e salvar a url pública no JSON associado.
- Frequência e Biometria (AttendanceQuery): Corrigido bug de contagem, deduplicação de aulas e janela de 30 minutos para validação facial.
- Financeiro (Manager): Migração total para API PostgreSQL local, eliminando o Supabase Sync que causava erros na aba financeira.
- Telemetria do Sistema (Settings): Cards reais de monitoramento de disco (Postgres) e objetos (MinIO).
- Foto do Aluno (Manager): Migrado de Base64 para envio via
🚀 Infraestrutura e Deploy
- Estado Atual: O pipeline do GitHub Actions está configurado para gerar imagens Docker para
amd64earm64. - Desafio: O build de
arm64via QEMU é extremamente lento (>15 min). Tentativas de otimização causaram quebras e foram revertidas para manter a estabilidade.
📋 Próximos Passos Pendentes
- Concluída a Arquitetura de Storage Local (MinIO): Todo o sistema (Tanto portal quanto manager) agora utiliza
FormDatapara envio físico de arquivos aos servidores, salvando apenas aURL públicano banco de dados. - Otimização de Build: Re-explorar o cache do Docker ou considerar a remoção do suporte nativo ARM64 se não for estritamente necessário para o servidor final.
- Financeiro: Implementar visualização de extrato detalhado e integração com gateway de pagamento direto via cartão.