Desafio de desenvolvimento de api proposto pela Oracle Next Education em parceria com a Alura
Warning
Esse projeto esta em desenvolvimento ativo e pode conter bugs no momento em que você estiver rodando. Por favor, abra uma issue sobrer qualque problema encontrado
Justificativas especificas para algumas ações tomandas nesse projeto
Oque são usecases e porque não tem services no projeto?
Services são uteis quando iniciamos projetos MVCs pela simplicidade e facilidade: de achar o metodo que executa a regra especifica. Porem, a medica que um projeto cresce, suas regras ficam complexas e passam a depender inclusive, de outras entidades, passa a ser interessante usar os conceitos do SOLID para separar cada responsabilidade em um caso de uso isolado, em que ele recebe uma entrada, aplica suas regras e retorna uma saida.
Usecases tambem permite que reaproveitemos uma logica X sem repetir o codigo, mas centralizando em um só lugar, apesar de isso tambem abrir uma margem para um acomplamento
Scalar no lugar do Swagger?
Apesar do Swagger ser uma otima plataforma, Scalar atraves do OpenAPi, permite um design limpo e personalizado, permitindo inclusive, testes iterativos diretamente no ambiente da API