Uma API REST para gerenciamento de uma lista de tarefas (To-do list), desenvolvida com Spring Boot. O projeto foi estruturado utilizando uma arquitetura em camadas (Controller, Service, Repository) e segue os princípios de boas práticas de desenvolvimento de software.
- CRUD Completo: Crie, leia, atualize e delete tarefas.
- Validação de Dados: Tratamento de entradas inválidas para garantir a integridade dos dados.
- Documentação Automatizada: A API é 100% documentada com Swagger (OpenAPI 3), permitindo fácil visualização e teste dos endpoints.
- Java 17
- Spring Boot 3
- Spring Data JPA
- Maven
- MySQL (Banco de dados de produção)
- H2 Database (Banco de dados em memória para os testes)
- SpringDoc OpenAPI (Swagger) para documentação da API
- JUnit 5 & Mockito para testes unitários e de integração
- O desenvolvimento deste projeto seguiu princípios de boas práticas de programação para garantir um código limpo, manutenível e escalável:
- SOLID: Os cinco princípios de design orientado a objetos foram aplicados para criar um software mais flexível e fácil de manter.
- DRY (Don't Repeat Yourself): Evitar a duplicação de código para aumentar a reutilização e diminuir a complexidade.
- KISS (Keep It Simple, Stupid): Manter a simplicidade no design e na implementação, evitando complexidade desnecessária.
- YAGNI (You Ain't Gonna Need It): Implementar apenas as funcionalidades estritamente necessárias, evitando o excesso de engenharia.
- Injeção de Dependências: Para desacoplar os componentes da aplicação.
- Spring Data JPA: Para simplificar a camada de persistência de dados com o banco de dados.
- Clone o repositório:
git clone https://github.com/tallestgabs/API-REST-Todoist.git
- Configure o Banco de Dados:
Abra o arquivo:
src/main/resources/application.properties.
Altere as propriedades spring.datasource.url, spring.datasource.username e spring.datasource.password com as suas credenciais do MySQL.
- Execute a aplicação:
Pelo terminal, navegue até a raiz do projeto e execute o comando:
mvn spring-boot:run
A API estará disponível em http://localhost:8080.
Após iniciar a aplicação, a documentação completa da API, gerada pelo Swagger, estará disponível e pronta para testes no seu navegador.
Acesse: http://localhost:8080/swagger-ui.html



