willianSanches13 / presence-hub

0 stars 0 forks source link

[frontend]Cadastro de Aula #8

Open willianSanches13 opened 2 days ago

DeAvreux commented 1 day ago

Cadastro de Aulas - Backend

  1. Criação da Estrutura da Tabela de Aulas no Banco de Dados Descrição: Estruturar a tabela no banco de dados para armazenar as informações de cada aula. Tarefas:

Criar a tabela aulas com os seguintes campos: id (chave primária, auto-incrementada). professor_id (chave estrangeira, referência à tabela de professores). turma_id (chave estrangeira, referência à tabela de turmas). data (data e hora da aula). Configurar as relações com as tabelas de professores e turmas. Garantir unicidade de aula com base em professor, turma e data.

  1. Implementação da Rota de Cadastro de Aulas Descrição: Criar um endpoint para cadastrar uma nova aula. Tarefas:

Definir o endpoint, como POST /api/aulas/cadastro. Receber e validar os dados enviados pelo frontend. Persistir a aula no banco de dados caso os dados sejam válidos.

  1. Validação de Dados no Backend Descrição: Implementar validações para garantir a integridade dos dados antes de salvar no banco. Tarefas:

Validar que todos os campos obrigatórios estão preenchidos: professor_id, turma_id e data. Verificar se o professor_id e turma_id existem nas tabelas associadas. Checar conflitos de horários: garantir que um professor não tenha duas aulas na mesma data/hora.

  1. Implementação de Respostas e Tratamento de Erros no Backend Descrição: Garantir que respostas apropriadas sejam enviadas ao frontend para cada cenário. Tarefas:

Retornar 400 para dados inválidos ou ausentes com mensagens como: "Campos obrigatórios não preenchidos". Retornar 404 caso o professor_id ou turma_id não sejam encontrados. Retornar 409 caso exista conflito de horário para o professor. Retornar 201 com os dados da aula criada em caso de sucesso.

  1. Testes Unitários e de Integração Descrição: Garantir a funcionalidade e integridade do cadastro de aulas. Tarefas:

Testar o endpoint com dados válidos e inválidos. Verificar a detecção de conflitos de horário. Garantir a integridade das relações com professores e turmas.