masprog2022 / api-desafio-todo-list

Desafio sistema de gerenciamento de tarefas (To-Do List) à vaga de Desenvolvedor Júnior Backend Liferay da Simplify uma empresa do Brasil

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TODO

API para gerenciar tarefas (CRUD) que faz parte desse desafio para pessoas desenvolvedoras backend júnior, que se candidatam 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

Swagger Documentation

Swagger2

Como Executar

  • Clonar repositório git
  • Construir o projeto:
$ ./mvnw clean package
  • Executar a aplicação:
$ java -jar target/todolist-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/api/v1/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/api/v1/todos

[
  {
    "description": "Desc Todo 1",
    "id": 1,
    "name": "Todo 1",
    "priority": 1,
    "done": false
  }
]
  • Atualizar Tarefa
$ http PUT :8080/api/v1/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/api/v1/todos/1

[ ]

About

Desafio sistema de gerenciamento de tarefas (To-Do List) à vaga de Desenvolvedor Júnior Backend Liferay da Simplify uma empresa do Brasil


Languages

Language:Java 100.0%