Skip to content

Gabrielmdrs/todolist-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TODO List

API para gerenciar tarefas (CRUD) que faz parte desse desafio para pessoas desenvolvedoras backend júnior, que se candidataram para a Simplify.

Tecnologias

Práticas adotadas

  • SOLID, DRY, YAGNI, KISS
  • API REST
  • Consultas com Spring Data JPA
  • Injeção de Dependências
  • Tratamento de respostas de erro
  • Geração automática do Swagger com a OpenAPI 3
  • Execução do MySQL em conteiner docker

Como Executar

  • Clonar repositório git
  • Construir o projeto:
$ ./mvnw clean package
  • Configurar arquivo docker compose
  • Executar comando docker:
$ cd docker
$docker-compose up -d
  • Executar a aplicação:
$ java -jar target/todolist-challenge-0.0.1-SNAPSHOT.jar

A API poderá ser acessada em localhost:8080. O Swagger poderá ser visualizado em localhost:8080/swagger-ui.html

API Endpoints

Para fazer as requisições HTTP abaixo, foi utilizada a ferramenta httpie:

  • Criar Tarefa
$ http POST :8080/todos name="Todo 1" description="Desc Todo 1" priority=1

[
  {
    "description": "Desc Todo 1",
    "id": 1,
    "name": "Todo 1",
    "priority": 1,
    "done": false
  }
]
  • Listar Tarefas
$ http GET :8080/todos

[
  {
    "description": "Desc Todo 1",
    "id": 1,
    "name": "Todo 1",
    "priority": 1,
    "done": false
  }
]
  • Atualizar Tarefa
$ http PUT :8080/todos/1 name="Todo 1 Up" description="Desc Todo 1 Up" priority=2

[
  {
    "description": "Desc Todo 1 Up",
    "id": 1,
    "name": "Todo 1 Up",
    "priority": 2,
    "done": false
  }
]
  • Remover Tarefa
http DELETE :8080/todos/1

[ ]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published