Este projeto é uma aplicação Node.js que utiliza o framework Vitest para testes unitários.
Representa um compromisso com propriedades como cliente, data de início e data de término. Possui validações para garantir que a data de início não seja no passado e que a data de término seja após a data de início.
Interface que define os métodos para criar um compromisso e encontrar compromissos sobrepostos.
Implementação em memória do `AppointmentRepository`, usada para armazenar compromissos e verificar sobreposições. Assim conseguimos testar a funcionalidade sem a conexão com o banco.
Caso de uso para criar um novo compromisso, garantindo que não haja sobreposição de datas.