Skip to content

📝 API REST robusta para gerenciamento de tarefas desenvolvida com Java 17 e Spring Boot. Inclui autenticação Basic Auth, criptografia BCrypt, persistência de dados e suporte a Docker. 🚀

Notifications You must be signed in to change notification settings

viniciusmarlin/task-manager-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 To-Do List API

Java Spring Docker

Uma API robusta para gerenciamento de tarefas (To-Do List) desenvolvida com Java e Spring Boot. O sistema conta com autenticação de usuários, criptografia de senhas e persistência de dados.


✨ Funcionalidades

  • Gerenciamento de Usuários: - Cadastro de usuários com validação.
    • Criptografia de senhas utilizando BCrypt.
  • Gerenciamento de Tarefas: - Criação de tarefas com título, descrição e prioridade.
    • Listagem de tarefas vinculadas apenas ao usuário autenticado.
    • Atualização parcial de informações de tarefas.
  • Segurança:
    • Filtro customizado para autenticação em rotas protegidas.
    • Tratamento global de exceções para respostas amigáveis.

🛠️ Tecnologias e Dependências

  • Linguagem: Java 17
  • Framework: Spring Boot 3.2.5
  • Banco de Dados: H2 Database (em memória para desenvolvimento)
  • Segurança: BCrypt (at.favre.lib)
  • Produtividade: Lombok
  • DevOps: Docker & Dockerfile

🚀 Como Executar

Pré-requisitos

  • Java 17+
  • Maven

Passo a passo

  1. Clone o repositório:
    git clone [https://github.com/SEU_USUARIO/todolist.git](https://github.com/SEU_USUARIO/todolist.git)
  2. Instale as dependências:
    mvn clean install
  3. Execute a aplicação:
    mvn spring-boot:run
    * A API estará rodando em http://localhost:8080
    

📌 Endpoints da API

Método Rota Descrição
POST /users/ Cadastra um novo usuário
POST /tasks/ Cria uma tarefa (Requer Auth)
GET /tasks/ Lista tarefas do usuário logado
PUT /tasks/{id} Atualiza uma tarefa por ID

📂 Estrutura de Arquivos

src/main/java/br/com/vinicius/todolist/
├── errors/     # Tratamento de exceções customizadas
├── filter/     # Filtros de autenticação (Basic Auth)
├── task/       # Model, Repository e Controller de Tarefas
├── user/       # Model, Repository e Controller de Usuários
└── utils/      # Classes utilitárias (Copy Properties)

🐳 Rodando com Docker

Se preferir utilizar containers, utilize o Dockerfile incluso:

docker build -t todolist-app .
docker run -p 8080:8080 todolist-app

Feito por Vinicius 🚀

About

📝 API REST robusta para gerenciamento de tarefas desenvolvida com Java 17 e Spring Boot. Inclui autenticação Basic Auth, criptografia BCrypt, persistência de dados e suporte a Docker. 🚀

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published