/spring-boot-todolist

Sistema de Gerenciamento de Tarefas

Primary LanguageJava

To-Do list

šŸš€ ComeƧando

AplicaĆ§Ć£o Web para gerenciamento de tarefas(To-Do list), onde Ć© possĆ­vel adicionar, atualizar, visualizar e deletar tarefas.

Tecnologias

  • [Spring Boot]
  • [Spring Web]
  • [Spring Data]
  • [Spring Security]
  • [Hibernate]
  • [Swagger]

Setup da aplicaĆ§Ć£o (local)

šŸ“‹ PrĆ©-requisitos

Antes de rodar a aplicaĆ§Ć£o Ć© preciso garantir que as seguintes dependĆŖncias estejam corretamente instaladas:

  • Java 11
  • PostgreSQL 16.1
  • Maven 3.1.0

šŸ”§ Preparando ambiente

Ɖ necessĆ”rio a criaĆ§Ć£o da base de dados relacional no Postgres para o sistema

CREATE DATABASE "db_tarefa";

Para os testes de integraĆ§Ć£o tambĆ©m Ć© necessario criar uma base de dados para os testes nĆ£o interferirem na base de desenvolvimento.

CREATE DATABASE "db_tarefa_test";

āš™ļø InstalaĆ§Ć£o da aplicaĆ§Ć£o

Primeiramente, faƧa o clone do repositĆ³rio:

https://github.com/alex-girao/spring-boot-todolist.git

Feito isso, acesse o projeto:

cd spring-boot-todolist

Ɖ preciso compilar o cĆ³digo e baixar as dependĆŖncias do projeto:

mvn clean package

Finalizado esse passo, vamos iniciar a aplicaĆ§Ć£o:

mvn spring-boot:run

Pronto. A aplicaĆ§Ć£o estĆ” disponĆ­vel em http://localhost:8080

Tomcat started on port(s): 8080 (http)
Started AppConfig in xxxx seconds (JVM running for xxxx)

Endpoints

O projeto disponibiliza endpoints para 2 contextos diferentes: UsuĆ”rios e Tarefas, onde utilizam o padrĆ£o Rest de comunicaĆ§Ć£o, produzindo e consumindo dados no formato JSON.

A documentaĆ§Ć£o Swagger estĆ” disponĆ­vel em http://localhost:8080/swagger-ui.html

Tarefa

Listar Todos

GET /tarefa

http://localhost:8080/tarefa/

Listar por Id

GET /tarefa/:id

http://localhost:8080/tarefa/1

Deletar

DELETE /tarefa/:id

http://localhost:8080/tarefa/1

Criar

POST /tarefa

http://localhost:8080/tarefa/

Request Body

{
	"titulo": "Carga de clientes",
	"descricao": "Executar Carga de clientes",
	"status": "PENDENTE"
}

Atualizar

PUT /tarefa/:id

http://localhost:8080/tarefa/2

Request Body

{
  "titulo": "Atualizar cadastro de clientes",
  "descricao": "Atualizar todos os cadastros dos clientes",
  "status": "CONCLUIDO"
}

UsuƔrio

Criar

POST /usuario

http://localhost:8080/usuario/

Request Body

{
	"nome": "Alex Girao",
	"email": "alex.girao@email.com",
	"senha": "123"
}

Listar por Id

GET /usuario/:id

http://localhost:8080/usuario/1