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.
- 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.
- 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
- Java 17+
- Maven
- Clone o repositório:
git clone [https://github.com/SEU_USUARIO/todolist.git](https://github.com/SEU_USUARIO/todolist.git)
- Instale as dependências:
mvn clean install
- Execute a aplicação:
mvn spring-boot:run * A API estará rodando em http://localhost:8080
| 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 |
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)
Se preferir utilizar containers, utilize o Dockerfile incluso:
docker build -t todolist-app .
docker run -p 8080:8080 todolist-appFeito por Vinicius 🚀