Skip to content

tallestgabs/API-REST-Todoist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To-do List API 📝

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.

✨ Features

  • 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.

🛠️ Tecnologias Utilizadas

  • 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

🚀 Conceitos e Princípios Aplicados

  • 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.

Além disso, foram utilizados conceitos fundamentais do ecossistema Spring:

  • 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.

▶️ Como Executar o Projeto

  • 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.

📖 Documentação da API (Swagger)

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

GET POST GET GET

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages