Skip to content

denisiorodrigues/todo-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Todo List for JAVA

Uma aplicação com uma simplicidade nas regras mas abordando todas as melhores práticas de desenvolvimento como:

  • Código limpo
  • Testes Unitários
  • Docker para subir uma instância de base de dados

O projeto foi elaborado nesse vídeo da @giulianabezerra .

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

Como Executar

  • Criar a base de dados antes de rodar, pois o JPA só cria as tebalas se houver uma base de dados
  • 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 REST Client:

  • Listar todos
### GET ALL
GET http://localhost:8080/todos
Accept: application/json
  • Criar a tarefa
POST http://localhost:8080/todos
content-type: application/json

{
  "name": "Tarefa menos importante",
  "description": "Separa os documentos para o deposito",
  "done": false,
  "priority": 3
}
  • Atualizar a tarefa
PUT http://localhost:8080/todos
content-type: application/json

{
   "id": 1,
  "name": "Tarefa mais importante",
  "description": "Concluir o projeto até o final do mês de abril",
  "done": false,
  "priority": 1
}
  • Remover a tarefa
DELETE http://localhost:8080/todos/2

Comandos SQL

Criar uma base de dados

CREATE DATABASE todolist;

Conceder privilégios a um usuário na base de dados

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%';

Recarregar as permissões do MySQL para que as alterações entrem em vigor imediatamente

FLUSH PRIVILEGES;

Consulta para visualizar as permissões concedidas aos usuários

SELECT user, host, authentication_string, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv, Event_priv, Trigger_priv 
FROM mysql.user;

Todos os crétidos a @giulianabezerra o meu mais muito obrigado por compartilhar o conteúdo

https://github.com/giuliana-bezerra/todolist-desafio-backendjr/blob/main/src/test/java/br/com/giulianabezerra/todolist/TodolistApplicationTests.java

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages