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.ts e questions.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.

Esta página foi útil?