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çãoinstitutions.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,publishedougraded.
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.