diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..1b532bf --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,23 @@ +# EduManager - Regras Globais e Escopo + +## 🚀 Escopo do Projeto +**EduManager** é um Sistema de Gestão Escolar completo, focado em alta performance, usabilidade premium e automação de processos administrativos e acadêmicos. + +## 🛠️ Stack Tecnológica +- **Frontend/Backend:** Remix (React) +- **Banco de Dados:** PostgreSQL (Local e Nuvem via Supabase) +- **Arquitetura de Storage:** Self-Hosted (MinIO) via API HTTP customizada (bypass do SDK Supabase para arquivos). +- **Infraestrutura Cloud:** Supabase (Auth, Database Sync) +- **Orquestração:** Portainer (Docker) + +## ⚠️ Regras de Negócio Críticas (MANDATÓRIO) + +> [!IMPORTANT] +> **Migração de Dados (Legado 'schoodat'):** +> Ao realizar a migração completa dos dados do sistema legado 'schoodat' para o nosso banco de dados local Postgres, **é terminantemente proibido alterar, resetar ou re-hashear as senhas existentes.** +> As credenciais devem ser mantidas exatamente como estão para garantir que o acesso dos usuários não seja interrompido. + +## 📜 Padrões de Desenvolvimento +1. **Design System:** Estética Premium, Dark Mode por padrão (ou glassmorphism), micro-animações e ausência de placeholders. +2. **Segurança:** Todas as rotas sensíveis devem validar o token do Supabase. +3. **Resiliência:** Tratamento rigoroso de erros em chamadas de API de terceiros (Asaas, Evolution API). diff --git a/MEMORY.md b/MEMORY.md new file mode 100644 index 0000000..029c4ef --- /dev/null +++ b/MEMORY.md @@ -0,0 +1,34 @@ +# MEMORY.md - Contexto de Desenvolvimento + +## 📅 Estado Atual (21/04/2026) + +### 💳 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)**. + - O arquivo `supabase.ts` foi substituído por uma versão que utiliza chamadas de API HTTP (`/api/upload`) em vez do SDK da Supabase, garantindo total controle sobre os arquivos no ambiente local. +- **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:** + - Realizamos um `reset --hard e2b9810` para remover tentativas falhas de otimização de build que causaram instabilidade. + - O sistema voltou para o último estado "verde" conhecido. + +### 🚀 Infraestrutura e Deploy +- **Estado Atual:** O pipeline do GitHub Actions está configurado para gerar imagens Docker para `amd64` e `arm64`. +- **Desafio:** O build de `arm64` via QEMU é extremamente lento (>15 min). Tentativas de otimização causaram quebras e foram revertidas para manter a estabilidade. + +## 📋 Próximos Passos Pendentes + +1. **Migração Schoodat:** Iniciar script de migração seguindo a regra de não alteração de senhas em `GEMINI.md`. +2. **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. +3. **Financeiro:** Implementar visualização de extrato detalhado e integração com gateway de pagamento direto via cartão. +4. **Segurança:** Auditar as políticas de RLS no Supabase para as tabelas de sincronização.