Materia {
grau: Number,
nome: String,
especializacao: String[]
}
Professor {
avaliacoes: AvaliacaoProfessor[],
email: String,
senha: String,
notaMedia: Float,
nome: String,
endereco: String,
dataNascimento: Date,
agenda: Date[],
materia: Materia[],
lattes: String,
diploma: String,
biografia: String,
aula: Aula[],
revisado: RevisaoDeProfessor
}
RevisaoDeProfessor {
status: Boolean,
camposPendentes: String[]
}
Aluno {
avaliacoes: AvaliacaoAluno[]
responsavel: Boolean,
quantidadeDependentes: Number,
email: String,
senha: String,
notaMedia: Float,
nome: String,
endereco: String,
dataNascimento: Date,
agenda: Date[],
materia: Materia[],
aula: Aula[]
}
AvaliacaoAluno{
avaliador: Professor,
avaliado: Aluno,
nota: Number,
comentario: String,
aula: Aula
}
AvaliacaoProfessor {
avaliador: Aluno,
avaliado: Professor,
nota: Number,
comentario: String,
aula: Aula,
}
Aula {
professor: Professor,
aluno: Aluno,
horario: Date,
local: String[],
status: String,
materia: Materia
}