Referência de Dados

Esta página detalha como as informações são estruturadas no Firestore. O Corrija+ utiliza um modelo NoSQL orientado a coleções para garantir escalabilidade e performance.

Firestore Schema

O banco de dados está organizado nas seguintes coleções principais:

institutions

Armazena dados das escolas ou universidades cadastradas.

  • name: Nome da instituição.
  • address: Localização.
  • plan: Tipo de assinatura (Stripe).

classes

Turmas vinculadas a uma instituição e um professor.

  • name: Nome da turma (ex: 3º Ano A).
  • institutionId: Referência para a coleção institutions.
  • teacherId: UID do Firebase Auth.

students

Perfis dos alunos vinculados às turmas.

  • name: Nome completo.
  • email: Contato institucional.
  • performance: Sub-coleção com histórico de notas e feedbacks da IA.

exams

Avaliações criadas pelos professores.

  • title: Título da prova.
  • questions: Array de referências ou objetos de questões.
  • status: draft, published ou graded.

Modelos de Dados

Objeto de Correção (AI Response)

Quando a Gemini AI processa uma prova, ela retorna um JSON estruturado que o sistema salva no seguinte formato:

{
  "score": 8.5,
  "feedback": "O aluno demonstrou bom entendimento, mas falhou no item X...",
  "rubricMatches": [
    { "criteria": "Clareza", "points": 2 },
    { "criteria": "Gramática", "points": 1.5 }
  ],
  "gradedAt": "2026-03-14T18:00:00Z"
}

[!TIP] Use sempre Batch Writes ou Transactions ao atualizar dados que envolvem múltiplas coleções (como vincular um aluno a uma nova turma) para manter a integridade referencial.

Esta página foi útil?