Skip to content

JaineSantos0/sgtarefas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Gerenciamento de Tarefas

Descrição

Este é um sistema de gerenciamento de listas e itens que permite aos usuários criar, gerenciar e organizar suas listas, bem como os itens associados a elas. A aplicação suporta a criação de listas e itens, a recuperação de todas as listas e itens, a busca de listas por ID, e a atualização e exclusão de itens. Itens prioritários podem ser destacados, e a aplicação inclui uma API para facilitar a interação com o sistema. Os dados são armazenados de forma persistente em um banco de dados relacional.

Funcionalidades

  • Criação de Listas: Permite criar e gerenciar listas, com cada lista contendo uma coleção de itens.
  • Gerenciamento de Itens: Dentro de cada lista, os usuários podem adicionar, editar, remover e alterar o estado dos itens.
  • Visualização e Filtragem: Exibe listas e itens, com opções de filtragem.
  • Prioridade de Itens: Itens podem ser destacados para indicar prioridade.
  • Validação de Dados: Itens devem ter um título com comprimento mínimo e status válido.
  • Estado dos Itens: Cada item tem um estado que pode ser modificado pelo usuário.
  • Persistência de Dados: As listas e itens são armazenados de forma persistente.
  • API RESTful: A aplicação fornece endpoints para as principais operações, incluindo criação e busca de listas e itens, consulta de listas por ID, atualização e exclusão de itens, além de atualização do status e destaque dos itens.
  • Testes Automatizados: Foram implementados testes nos controladores para validar funcionalidades principais.

Tecnologias Utilizadas

  • Java 17
  • Spring Boot 3
  • H2 Database (para desenvolvimento e testes)
  • JPA / Hibernate (para persistência de dados)
  • Maven (para gerenciamento de dependências)
  • JUnit 5 (para testes automatizados)
  • Postman (para testar os endpoints da API)

Requisitos

  • JDK 17+
  • Maven 3.8+
  • Postman (opcional, para testar os endpoints da API manualmente)

Configuração do Ambiente de Desenvolvimento

Clone o repositório:

git clone https://github.com/JaineSantos0/sgtarefas.git

Compile e rode a aplicação:

mvn clean install
mvn spring-boot:run

Acessando o Console H2:

Configuração do Ambiente de Teste

Clone o repositório:

git clone https://github.com/JaineSantos0/sgtarefas.git

Compile e rode a aplicação:

mvn clean install -DskipTests
mvn spring-boot:run -Dspring.profiles.active=test

Acessando o Console H2:

Endpoints Principais

Task

  • POST /tasks - Cria uma nova lista de tarefas.
  • GET /tasks - Retorna todas as listas de tarefas com paginação.
  • GET /tasks/{id} - Retorna uma lista de tarefas específica pelo ID.

Item

  • POST /tasks/{taskId}/items - Adiciona um novo item a uma lista de tarefas.
  • PUT /items/{id} - Atualiza um item existente.
  • DELETE /items/{id} - Remove um item.
  • PATCH /items/status/{id} - Atualiza o status de um item.
  • PATCH /items/highlighted/{id} - Atualiza o destaque de um item.
  • GET /items - Retorna todos os itens ordenados por destaque com filtragem opcional por status.

Como Rodar os Testes

Executar testes automatizados:

mvn test

Documentação da API

Após rodar a aplicação, você pode acessar a documentação dos endpoints gerada pelo Swagger:

Estrutura do Projeto


├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── sgtarefas/
│   │   │       ├── controllers/
│   │   │       │   ├── handlers/ 
│   │   │       ├── dto/
│   │   │       ├── entities/
│   │   │       ├── repositories/
│   │   │       ├── services/
│   │   │       │   └── exceptions/
│   │   │       └── SgtarefasApplication.java
│   │   ├── resources/
│   │   │   ├── application.properties
│   │   │   └── application-dev.properties
│   ├── test/
│   │   ├── java/
│   │   │   └── sgtarefas/
│   │   │       ├── controllers/
│   │   │       └── SgtarefasApplicationTests.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── application-test.properties
    

Autor

Nome do Autor: Jaine Santos

Email: jainejosiane@gmail.com

About

Sistema de Gerenciamento de Tarefas

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages