Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yanvferreira/todolist
Desafio para criar uma API que implemente uma lista de tarefas
https://github.com/yanvferreira/todolist
postgresql postman spring spring-boot spring-data-jpa spring-mvc swagger-ui validation
Last synced: 8 days ago
JSON representation
Desafio para criar uma API que implemente uma lista de tarefas
- Host: GitHub
- URL: https://github.com/yanvferreira/todolist
- Owner: yanvferreira
- License: mit
- Created: 2024-08-03T03:25:09.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-08-04T00:03:56.000Z (6 months ago)
- Last Synced: 2024-11-16T22:35:07.480Z (2 months ago)
- Topics: postgresql, postman, spring, spring-boot, spring-data-jpa, spring-mvc, swagger-ui, validation
- Language: Java
- Homepage:
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Repositório: [yanvferreira/todolist](https://github.com/yanvferreira/todolist)
# TodoList
[](https://github.com/yanvferreira/todolist)
API para gerenciar tarefas (CRUD) que faz parte [desse desafio](https://github.com/simplify-liferay/desafio-junior-backend-simplify) para pessoas desenvolvedoras backend júnior, que se candidatam para a Simplify.O projeto foi usado para aprender a desenvolver API com Spring Boot como mostrado [nesse vídeo](https://youtu.be/IjProDV001o).
## Tecnologias
[](https://github.com/yanvferreira/todolist?tab=readme-ov-file#tecnologias)
- [Spring Boot](https://spring.io/projects/spring-boot)
- [Spring MVC](https://docs.spring.io/spring-framework/reference/web/webmvc.html)
- [Spring Data JPA](https://spring.io/projects/spring-data-jpa)
- [Spring Validation](https://docs.spring.io/spring-framework/reference/web/webflux/controller/ann-validation.html#page-title)
- [SpringDoc OpenAPI](https://springdoc.org/#getting-started)
- [PostgreSQL](https://www.postgresql.org/download/)
- [Postman](https://www.postman.com/downloads/)## Práticas adotadas
[](https://github.com/yanvferreira/todolist?tab=readme-ov-file#pr%C3%A1ticas-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## Como Executar
[](https://github.com/yanvferreira/todolist?tab=readme-ov-file#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](http://localhost:8080/). O Swagger poderá ser visualizado em [localhost:8080/swagger-ui.html](http://localhost:8080/swagger-ui.html)
## API Endpoints
[](https://github.com/yanvferreira/todolist?tab=readme-ov-file#api-endpoints)
Para fazer as requisições HTTP abaixo, foi utilizada a ferramenta [Postman](https://www.postman.com/downloads/):
- Criar Tarefa
```
$ http POST :8080/todos[
{
"nome": "Todo 1",
"descricao": "Desc Todo 1",
"prioridade": 1,
"realizado": false
}
]```
- Listar Tarefas
```
$ http GET :8080/todos```
- Atualizar Tarefa
```
$ http PUT :8080/todos/1[
{
"id": 1,
"nome": "Todo 1 Up",
"descricao": "Desc Todo 1 Up",
"prioridade": 2,
"realizado": false
}
]```
- Remover Tarefa
```
http DELETE :8080/todos/1```