Estrutura do Projeto
Entender a organização dos arquivos é fundamental para contribuir ou dar manutenção no Corrija+. O projeto segue uma estrutura moderna baseada em React (Vite) e Firebase.
Visão Geral
O repositório está dividido em camadas claras: Interface (UI), Lógica de Negócios (Services), Componentes Compartilhados e Funções de Backend (Firebase Functions).
Diretórios Principais
Aqui está uma descrição do que você encontrará em cada pasta principal do diretório src/:
components/
Contém todos os componentes React reutilizáveis, organizados por funcionalidade:
ui/: Componentes básicos de interface (Botões, Inputs, Modais) baseados em Tailwind CSS.layout/: Componentes de estrutura como Sidebar e Navbar.correction/: Lógica e UI específica para o fluxo de correção de provas.dashboard/: Widgets e gráficos para visualização de métricas.
services/
A camada de comunicação e lógica. Centraliza todas as chamadas para o Firebase e APIs externas:
auth.ts: Gestão de usuários e permissões.aiCorrection.ts: Integração principal com a Google Gemini AI.exams.tsequestions.ts: CRUD de provas e banco de questões.stripe.ts: Lógica de pagamentos e assinaturas.
hooks/
Custom hooks para gerenciar estados complexos, como o estado da correção atual ou filtros do dashboard.
assets/
Imagens, ícones e arquivos estáticos globais.
firebase/
Configurações do SDK do Firebase e definições de tipos para o Firestore.
[!TIP] Ao adicionar uma nova funcionalidade, prefira criar um novo serviço em
services/em vez de colocar lógica de dados diretamente nos componentes. Isso mantém o código testável e organizado.