Conflito de agenda
Impede sobreposição de atendimentos para o mesmo profissional.
PROJETO BACKEND DEMONSTRATIVO
Solução REST para clientes, serviços, profissionais, conflitos de horário, disponibilidade e ciclo de vida dos agendamentos.
{
"id": 42,
"cliente": {
"nome": "Marina Alves"
},
"servico": {
"nome": "Consultoria inicial",
"duracaoMinutos": 60
},
"profissional": {
"nome": "Lívia Martins"
},
"inicio": "2099-08-20T09:00:00",
"fim": "2099-08-20T10:00:00",
"status": "PENDENTE"
}
RECURSOS
Impede sobreposição de atendimentos para o mesmo profissional.
Calcula horários livres pela duração do serviço e expediente configurado.
DTOs, validação, paginação, filtros e respostas de erro padronizadas.
Flyway, PostgreSQL, Docker, health check, testes e integração contínua.
ARQUITETURA
Controllers cuidam do protocolo HTTP. Services concentram regras e transações. Repositories isolam persistência. DTOs protegem o domínio.
CONTRATO
/api/v1/agendamentosCria e valida o período.
/api/v1/agendamentosFiltros e paginação.
/api/v1/agendamentos/{id}/statusControla o ciclo de vida.
/api/v1/disponibilidadeRetorna horários livres.
/api/v1/clientesCadastra clientes.
/api/v1/servicosLista serviços ativos.