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, }