Skip to content

daniel-dealmeida-dev/taskflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📝 Task Manager - Spring Boot

GitHub repo size GitHub language count GitHub top language License

Java CI with Maven

Uma aplicação de gerenciamento de tarefas desenvolvida com Spring Boot, Spring Data JPA e H2 Database. Permite criar, listar, atualizar, deletar e filtrar tarefas com status TODO → DOING → DONE, além de oferecer documentação via Swagger. 🖥️


Funcionalidades

✅ Criar novas tarefas

📋 Listar todas as tarefas

🔄 Atualizar status de tarefas (TODO → DOING → DONE) com validação

🗑️ Deletar tarefas por ID

🔍 Filtrar tarefas por status e/ou prioridade

📖 Documentação interativa via Swagger

🛠️ Estrutura pronta para integração com front-end

⚡ Projeto leve, usando banco em memória H2

⚡ CI automatizado com GitHub Actions: build, testes e artifact jar


💻 Tecnologias utilizadas

  • Java 21 ☕
  • Spring Boot 4.0.1
  • Spring Data JPA
  • H2 Database 🗄️
  • Bean Validation (JSR 380 / Jakarta)
  • Lombok
  • Maven ⚙️

📡 Endpoints

Método Endpoint Descrição
POST /tasks Criar nova tarefa
GET /tasks Listar todas as tarefas
GET /tasks/filter Filtrar tarefas por status ou prioridade (?status=DOING&priority=HIGH)
PUT /tasks/{id}/status Atualizar status de tarefa
DELETE /tasks/{id} Deletar tarefa pelo ID

🛠️ Exemplos de payload

Criar nova task: json { "title": "Estudar React", "description": "Estudar fundamentos do React.js", "priority": "HIGH" } Atualizar status da task:

{ "status": "DOING" } Exemplo de query para filtro:

GET /tasks/filter?status=DOING&priority=HIGH

🏃 Como rodar localmente:

Clone o repositório:

git clone https://github.com/daniel-dealmeida-dev/taskFlow

cd task-manager Entre na pasta demo e rode com Maven:

cd demo

Linux / macOS

./mvnw spring-boot:run

Windows

mvnw.cmd spring-boot:run

Teste a API via Postman ou outro cliente HTTP:

http://localhost:8080/tasks

POST:

image

GET:

image

GET com FILTRO:

image

PUT com FILTRO:

image

DELETE:

image

DELETE em algo que não existe:

image

Acessar Swagger:

Abra no navegador:

http://localhost:8080/swagger-ui.html Você verá todos os endpoints, poderá testar as requisições diretamente pelo Swagger e conferir exemplos de payload. 📖✨

🖼️ Swagger UI

Abra o Swagger em: http://localhost:8080/swagger-ui.html

Veja todos os endpoints e exemplos de payload diretamente no navegador:

Swagger:

image

🛣️ Próximos Recursos / Roadmap

[ ]Front-end completo com React.js ⚛️

[ ]Deploy do projeto em AWS ou Heroku ☁️

[ ] Persistência de dados em MySQL ou PostgreSQL 🗄️

[✅] Funções de delete de tarefas 🗑️

[ ]Dashboard interativo com gráficos de progresso 📊

[✅] Busca e filtros avançados de tarefas 🔍

[ ]Autenticação e autorização de usuários 🔒

[ ]Notificações de status (email ou push) ✉️🔔

[✅] Maior quantidade de tratamento de erros para fluxos complexos ⚠️

[ ] Deixar mais fácil de utilizar os filtros ⚠️

👨‍💻 Autor

Daniel Almeida

Idade: 18 anos

Focado em Java, estudos de React e Desenvolvimento Full-Stack

Buscando evoluir projetos de backend + frontend

About

Aplicação de gerenciamento de tarefas desenvolvida em Spring Boot.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors