Skip to content

gfbueno/task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Sistema de Gestão de Tarefas (Task Manager)

✨ Descrição do Projeto

Um sistema avançado de gestão de tarefas (To-Do List) desenvolvido com Spring Boot, focado em boas práticas de Clean Architecture e Domain-Driven Design (DDD). O projeto visa ir além do CRUD básico, incorporando funcionalidades como autenticação JWT, categorias personalizadas, tags, lembretes por e-mail e compartilhamento de tarefas entre usuários. A API REST será documentada com Swagger/OpenAPI.

🚀 Funcionalidades Principais (Roadmap Inicial)

  • Setup do Projeto Spring Boot: Configuração inicial com Spring Initializr.
  • Configuração de Banco de Dados: Uso de Flyway para gerenciamento de migrações (PostgreSQL/H2).
  • Estrutura Clean Architecture/DDD: Definição de pacotes para domain, application, infrastructure e api.
  • Modelagem do Domínio: Entidades POJO (User, Task, Category, Tag, TaskShare) e Value Objects/Enums (TaskStatus, TaskPriority, SharePermissionLevel).
  • Contratos de Repositório: Interfaces de repositório definidas na camada de domain.
  • DTOs de Aplicação: Objetos de transferência de dados para input/output de Use Cases na camada de application.
  • Autenticação e Autorização (JWT com Spring Security)
  • Gerenciamento de Usuários (Registro, Login, Perfil)
  • CRUD Completo de Tarefas
  • Categorias e Tags
  • Compartilhamento de Tarefas
  • Lembretes por E-mail (@Scheduled)
  • Documentação da API com Swagger/OpenAPI
  • Conteinerização com Docker e Docker Compose

💡 Tecnologias Utilizadas

  • Backend: Java 21+, Spring Boot (Web, Data JPA, Security, Mail)
  • Banco de Dados: PostgreSQL (Produção/Docker), H2 (Desenvolvimento/Testes)
  • Gerenciamento de DB Migrações: Flyway
  • ORM: Hibernate
  • Construção: Maven
  • Auxiliar de Código: Lombok
  • API Docs: Swagger/OpenAPI
  • Ferramentas de Desenvolvimento: Git, Docker, IntelliJ IDEA (ou outro IDE Java)

⚙️ Guia de Execução Local (Em Breve)

Instruções para configurar e executar o projeto localmente, incluindo o uso de Docker.

🤝 Contribuição

Informações sobre como contribuir para o projeto (futuro).


Desenvolvido como um projeto de estudo aprofundado em engenharia de software e arquiteturas modernas.

About

Um sistema de gestão de tarefas (To-Do List) desenvolvido com Spring Boot.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages