Skip to content

Plataforma OLP — Documentação Técnica

Sistema de gestão de olimpíadas científicas para escolas brasileiras.

Produção: https://olp.digital/
Preview: https://id-preview--b4188062-97f3-4ab8-aba4-214ee32684a0.lovable.app
Supabase: https://supabase.com/dashboard/project/mjvuzsizjlcalyfmbquy


Stack Tecnológica

CamadaTecnologia
FrontendReact 18 + TypeScript + Vite + TailwindCSS + shadcn/ui
BackendSupabase Edge Functions (Deno)
Banco de DadosPostgreSQL (Supabase)
AutenticaçãoJWT customizado (HS256) via cookies HttpOnly
MensagensWhatsApp (Wasender)
GatewayCloudflare Worker (produção)

Ambientes e Infraestrutura

AmbienteURLInfraFunção
Produçãoolp.digitalLovable Hosting + CF Worker gateway.olp.digitalApp principal
Stagingstaging.olp.digitalCF Pages olp-staging + CF Worker gateway-staging.olp.digitalValidação pré-deploy, CI/CD
Docsdocs.olp.digitalCF Pages olp-docs (Direct Upload) + CF Worker olp-docs-authDocumentação técnica (admin only)
text
┌─────────────────────────────────────────────────────────────────────┐
│                        olp.digital (DNS Cloudflare)                │
├───────────────────┬───────────────────┬─────────────────────────────┤
│                   │                   │                             │
│  olp.digital      │ staging.olp.digital│ docs.olp.digital           │
│  (Lovable Host)   │ (CF Pages)        │ (CF Pages Direct Upload)   │
│       │           │       │           │       │                     │
│       ▼           │       ▼           │       ▼                     │
│  gateway.olp      │ gateway-staging   │ olp-docs-auth              │
│  .digital         │ .olp.digital      │ (CF Worker — auth only)    │
│  (CF Worker)      │ (CF Worker)       │                             │
│       │           │       │           │                             │
│       ▼           │       ▼           │                             │
│  Supabase PROD    │ Supabase STAGING  │                             │
│  mjvuzsizjlca...  │ nrgcajnhpjmw...  │                             │
└───────────────────┴───────────────────┴─────────────────────────────┘

Índice de Documentação

🏗️ Arquitetura

DocumentoDescrição
OVERVIEW.mdVisão geral do sistema, papéis, fluxo de dados
DATABASE_SCHEMA.mdSchema completo — tabelas, relações, enums
EDGE_FUNCTIONS_CATALOG.mdCatálogo das 45+ Edge Functions
NAVIGATION_AND_ROUTING.mdRotas, sidebar, navegação interna
CLOUDFLARE_WORKER_GATEWAY.mdGateway de produção — cookies, geo, CORS
THIRD_PARTY_INTEGRATIONS.mdAdapter Pattern — integrações com terceiros (Wasender, Mercado Pago)
REALTIME.mdSupabase Realtime — token dual, presença, notificações
CLOUDFLARE_WORKER_CODE.mdCódigo-fonte anotado do Cloudflare Worker Gateway
CANARY_RELEASE_SYSTEM.mdSistema de Canary Release, Feature Flags, versionamento
CNPJ_ALFANUMERICO.mdAdaptação para CNPJ alfanumérico (jul/2026)
MULTI_ESCOLA.mdArquitetura multi-escola, isolamento por escola_id
MESSAGING_RATE_LIMITS.mdRate limits específicos do sistema de mensagens
FUTURE_ARGON2ID_OFFLOAD_PLAN.mdPlano de offload do Argon2id para Worker dedicado
VITEPRESS_SETUP.mdInfraestrutura docs.olp.digital (VitePress + CF Pages + auth Worker)

🔒 Segurança

DocumentoDescrição
AUTHENTICATION.mdLogin unificado, OTP, JWT, cookies, CORS
RLS_POLICIES.mdRow Level Security por papel, SECURITY DEFINER
RATE_LIMITS.mdRate limits, lockouts, anti-timing
AUDIT_LOG.mdSistema de logs, formato, geolocalização
IP_RETENTION_LGPD.mdRetenção de IPs — LGPD + Marco Civil, anonimização 6 meses
SECURITY_AUDIT_2026-02-28.mdRelatório de auditoria formal
INACTIVITY_TIMEOUT.mdTimeout de inatividade 3h, throttle, UX de aviso
PASSWORD_HASHING_ARCHITECTURE.mdArquitetura de hashing de senhas (Argon2id)
BENCHMARK_ARGON2.mdBenchmark de performance do Argon2id em Edge Functions
SILENT_DATA_LOSS_AUDIT.mdAuditoria de perda silenciosa de dados (RLS silent failures)

💻 Desenvolvimento

DocumentoDescrição
GETTING_STARTED.mdSetup local, variáveis de ambiente
CODING_STANDARDS.mdPadrões de código, helpers, toast, Feature Directory Pattern
NAMING_CONVENTIONS.mdConvenções de idioma e casing por camada (banco, backend, frontend)
PROBLEM_SOLVING.mdMetodologia de resolução de problemas — diagnóstico, causa raiz, anti-padrões
NEW_EDGE_FUNCTION.mdTemplate + checklist para nova Edge Function
NEW_HOOK.mdTemplate + checklist para novo hook React
REACT_QUERY_CACHE.mdCritérios de cache obrigatório, staleTime por categoria
TESTING_MASTER.mdDocumento mestre de testes (pirâmide, usuários, CI)
TESTING_PORTAL_RATE_LIMIT.mdScript de stress test do portal, relatórios MD
TEST_ERROR_PLAYBOOK.mdAcervo SSOT de erros E2E — catálogo, diagnóstico, padrões
IMPORT_SYSTEM_STANDARD.mdPadrão obrigatório para sistemas de importação (Excel/CSV)
MIGRATION_GUIDELINES.mdDiretrizes para migrations resilientes multi-ambiente (guards, idempotência)
STATE_OF_THE_ART.mdEstado da arte — práticas e padrões adotados
ATOMIC_RENDERING.mdPadrão de renderização atômica para componentes
AUDIT_CHECKLIST.mdChecklist de auditoria para entregas (@audit)
TEST_MIGRATION_REPORT.mdRelatório de migração de testes

🧪 Staging

DocumentoDescrição
STAGING_WHY.mdMotivações, decisões arquiteturais e trade-offs
STAGING_REFERENCE.mdReferência rápida do staging (URLs, secrets, dados)
STAGING_SETUP.mdGuia de setup do zero
seed_test_users.sqlReferência de usuários de teste

⚙️ Operações

DocumentoDescrição
DEPLOYMENT.mdDeploy, domínio, Cloudflare Worker
DATABASE_CLEANUP.mdLimpeza e manutenção do banco
CRON_JOBS.mdJobs agendados, monitoramento
ALERTAS_PUSH.mdAlertas push via ntfy.sh
NOTIFICATIONS_MAP.mdMapa completo de notificações (in-app, push, WhatsApp)
INCIDENT_POLICY.mdPolítica de classificação e resposta a incidentes
TROUBLESHOOTING.mdErros comuns, debug
DEPENDABOT_ANALYSIS.mdAnálise de dependências e atualizações

🎓 Mural Olímpico

DocumentoDescrição
MURAL_OVERVIEW.mdArquitetura do Mural Olímpico (aluno/responsável)
MURAL_LIBERACOES.mdLiberação de resultados, snapshots materializados, cache

💰 Negócio

DocumentoDescrição
SUBSCRIPTION_BILLING.mdPlanos, assinaturas, faturamento

📋 Planos Futuros

DocumentoDescrição
SESSION_MANAGEMENT_ALERTS.mdAlertas de gestão de sessão
ANOMALY_DETECTION.mdDesign: detecção de anomalias de acesso (futuro)
ROLE_BASED_RESTRUCTURE.mdReestruturação por papel (aprovado, aguardando)
UPSTASH_REDIS_MIGRATION.mdMigração para Upstash Redis

🔍 Auditorias

DocumentoDescrição
AUDIT_CALENDARIO_TRIAL_CADASTRO_2026-03-30.mdAuditoria Calendário Trial Mar/2026
RESULTADOS_REFACTOR_AUDIT.mdAuditoria de refactor de resultados
SECURITY_AUDIT_PLAN.mdPlano de auditoria de segurança (fases concluídas)

  • Custom Knowledge: Regras globais estão no prompt do sistema (knowledge document)
  • Supabase Secrets: 14 secrets configurados (OLP_JWT_SECRET, WASENDER_*, MP_ACCESS_TOKEN, etc.)
  • Storage Buckets: banners-login, curso-thumbnails, tutoriais-thumbnails, mural-imagens (todos públicos)