Materia {
grau: number,
nome: string,
especializacao: string[]
}
Professor {
avaliacoes: Avaliacao_Professor[],
email: string,
senha: string,
nota_media: float,
nome: string,
endereco: string,
data_nascimento: date,
agenda: date[],
materia: materia[],
lattes: string,
diploma: string, //temporario
biografia: string,
aula: Aula[]
}
Aluno {
avaliacoes: Avaliacao_Aluno[]
responsavel: bool,
quantidade_resp: number,
email: string,
senha: string,
nota_media: float,
nome: string,
endereco: string,
data_nascimento: date,
agenda: date[],
materia: materia[],
lattes: string,
diploma: string, //temporario
biografia: string,
aula: Aula[]
}
Avaliacao_Aluno {
avaliador: Professor,
avaliado: Aluno,
nota: number,
comentario: string,
aula: Aula,
}
Avaliacao_Professor {
avaliador: Aluno,
avaliado: Professor,
nota: number,
comentario: string,
aula: Aula,
}
Aula {
professor: Professor,
aluno: Aluno,
horario: date,
local: string[],
status: string,
materia: Materia,
}