Skip to content

To-Do List API é uma API para gerenciar tarefas (CRUD), desenvolvida como parte do desafio de vaga para pessoas desenvolvedoras backend júnior. Utiliza Spring Boot, Spring Data JPA e MySQL.📋

License

Notifications You must be signed in to change notification settings

lauratrigo/To-do_List_API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 To-Do List API

Esta é uma API para gerenciar tarefas (CRUD) desenvolvida com Spring Boot, Spring MVC, Spring Data JPA e MySQL. O projeto foi criado como parte de um desafio para desenvolvedores backend júnior, com foco em boas práticas de programação e uso de tecnologias modernas.

🛠 Tecnologias Usadas

  • Spring Boot
  • Spring MVC
  • Spring Data JPA
  • SpringDoc OpenAPI 3
  • MySQL

Spring Boot Badge Spring MVC Badge Spring Data JPA Badge SpringDoc OpenAPI 3 Badge MySQL Badge

💡 Objetivo

O objetivo deste projeto é implementar uma API RESTful para gerenciar tarefas, permitindo operações CRUD (Criar, Ler, Atualizar e Deletar). A API foi desenvolvida com foco em boas práticas como SOLID, DRY, YAGNI e KISS, além de utilizar Spring Data JPA para consultas ao banco de dados e SpringDoc OpenAPI 3 para documentação automática das rotas.

🚀 Funcionalidades

  • POST /todos: Cria uma nova tarefa.
  • GET /todos: Lista todas as tarefas.
  • PUT /todos/{id}: Atualiza uma tarefa existente.
  • DELETE /todos/{id}: Remove uma tarefa.

📋 Pré-Requisitos

Antes de rodar a aplicação, certifique-se de ter os seguintes itens instalados:

📦 Como Executar o Projeto

Passo 1: Clone o repositório

git clone https://github.com/seu-usuario/todo-list-api.git
cd todo-list-api

Passo 2: Configure o banco de dados

  • Crie um banco de dados MySQL chamado todo_list.
  • Configure as credenciais do banco de dados no arquivo application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/todo_list
spring.datasource.username=seu_usuario
spring.datasource.password=sua_senha
spring.jpa.hibernate.ddl-auto=update

Passo 3: Construa o projeto

  • Execute o seguinte comando para construir o projeto:
./mvnw clean package

Passo 4: Execute a aplicação

java -jar target/todolist-0.0.1-SNAPSHOT.jar

A API estará disponível em http://localhost:8080.

Passo 5: Acesse o Swagger

  • Para explorar e testar as rotas da API, acesse o Swagger em:
[java -jar target/todolist-0.0.1-SNAPSHOT.jar](http://localhost:8080/swagger-ui.html)

📂 Estrutura do Projeto

todo-list-api/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── exemplo/
│   │   │           ├── controller/
│   │   │           │   └── TodoController.java
│   │   │           ├── model/
│   │   │           │   └── Todo.java
│   │   │           ├── repository/
│   │   │           │   └── TodoRepository.java
│   │   │           ├── service/
│   │   │           │   └── TodoService.java
│   │   │           └── DesafioTodoListApplication.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── data.sql
│   └── test/ 
├── target/ 
├── pom.xml
├── README.md
└── .gitignore

Como Usar a API

Criar Tarefa

http POST :8080/todos nome="Todo 1" descricao="Desc Todo 1" prioridade=1

Listar Tarefas

http GET :8080/todos

Atualizar Tarefa

http PUT :8080/todos/1 nome="Todo 1 Up" descricao="Desc Todo 1 Up" prioridade=2

Remover Tarefa

http DELETE :8080/todos/1

Como usar:

  1. Copie o trecho acima.
  2. Cole no seu arquivo README.md no GitHub.
  3. Pronto! O Markdown já está formatado corretamente, e os blocos de código serão exibidos como esperado. 😊

🤝 Agradecimentos

Este projeto foi desenvolvido como parte de um desafio para desenvolvedores backend júnior, com base em um vídeo do YouTube. O objetivo principal foi praticar o uso de Spring Boot, Spring Data JPA e MySQL em uma API RESTful.

Caso deseje contribuir, fique à vontade! Para sugestões e melhorias, você pode fazer um fork do repositório, criar uma branch com suas mudanças e enviar um pull request.

📜 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.

🎥 Créditos

Este projeto foi desenvolvido por Laura Trigo com base no vídeo Desafio Vagas: API de tarefas com Spring Boot!.

About

To-Do List API é uma API para gerenciar tarefas (CRUD), desenvolvida como parte do desafio de vaga para pessoas desenvolvedoras backend júnior. Utiliza Spring Boot, Spring Data JPA e MySQL.📋

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages