Skip to content

Marcus-Austin/task-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

📝 Task App

Sistema backend para gerenciamento de tarefas desenvolvido com Spring Boot, seguindo boas práticas de arquitetura em camadas e preparado para evolução futura.


🚀 Sobre o Projeto

O Task App é uma API RESTful voltada para o gerenciamento de tarefas, permitindo a organização de atividades em listas. O projeto foi desenvolvido com foco em boas práticas de desenvolvimento backend, como separação de responsabilidades, uso de DTOs e modelagem de domínio bem definida.


🏗️ Arquitetura

O projeto segue uma arquitetura em camadas, organizada da seguinte forma:

  • Controller → Responsável pela exposição dos endpoints REST
  • Service → Contém as regras de negócio
  • Domain → Entidades e DTOs
  • Repository → Comunicação com o banco de dados (JPA)

A estrutura foi pensada para facilitar manutenção, testes e futura migração para Clean Architecture.


🧠 Modelagem do Domínio

  • Task
    • Título
    • Descrição
    • Status
    • Prioridade
    • Data de vencimento
  • TaskList
    • Nome da lista
    • Relacionamento com tarefas

O projeto utiliza UUID como identificador e Enums para controle de status e prioridade.


🔗 Persistência

  • Spring Data JPA + Hibernate
  • Mapeamento objeto-relacional (ORM)
  • Relacionamentos:
    • OneToMany (TaskList → Task)
    • ManyToOne (Task → TaskList)
  • Uso de FetchType.LAZY para otimização
  • Configuração de cascade para operações automáticas

🔄 DTOs

O projeto utiliza DTOs (Data Transfer Objects) para desacoplar a camada de apresentação da camada de domínio, garantindo:

  • Maior segurança na exposição de dados
  • Organização e clareza no código
  • Facilidade de manutenção

🌐 API REST

Endpoints iniciais seguem padrão RESTful:

  • CRUD de tarefas
  • Gerenciamento de listas
  • Respostas padronizadas em JSON

🛠️ Tecnologias Utilizadas

  • Java 21
  • Spring Boot
  • Spring Data JPA
  • Hibernate
  • PostgreSQL (ou outro banco relacional)
  • Maven

⚙️ Como Executar o Projeto

  1. Clone o repositório:
    git clone https://github.com/Marcus-Austin/task-app.git
  2. Acesse a pasta do projeto:
    cd task-app
  3. Configure o banco de dados no application.properties
  4. Execute a aplicação:
    ./mvnw spring-boot:run

🔐 Melhorias Futuras

  • Implementação de autenticação com JWT (Spring Security)
  • Controle de usuários
  • Paginação e filtros avançados
  • Documentação com Swagger/OpenAPI
  • Testes automatizados (JUnit + Mockito)

📌 Status do Projeto

🚧 Em desenvolvimento — estrutura base concluída e pronta para evolução.


👨‍💻 Autor

Desenvolvido por Marcus Austin

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors