API REST para gerenciamento de tarefas (To-do List) desenvolvida em Java
com Spring Boot, focando em segurança, persistência e boas práticas.
🔗 API em produção: https://todolist-java-fnic.onrender.com
- Java 21
- Spring Boot 4
- Spring Data JPA
- Spring Security (BCrypt para segurança de senhas)
- H2 Database (em memória, apenas para desenvolvimento/testes)
- Docker (Containerização da aplicação)
- Render (Plataforma de Cloud para o Deploy)
- CRUD completo de tarefas com associação por usuário
- Controle de acesso por autenticação Basic Auth
- Isolamento de dados por usuário (cada usuário acessa apenas suas tarefas)
- Validações de negócio para datas e consistência dos dados
- Criptografia de senha com BCrypt
POST /users → Criar usuário
POST /tasks → Criar tarefa
GET /tasks → Listar tarefas
PUT /tasks/{id} → Atualizar tarefa
A aplicação foi preparada para rodar em containers, facilitando a portabilidade e o deploy. Para executar localmente via Docker:
./mvnw clean packagedocker build -t todolist-java .
docker run -p 8080:8080 todolist-java
O deploy foi realizado no Render seguindo estas etapas:
- Configuração do Dockerfile na raiz do projeto.
- Integração do repositório GitHub com o Render.
- Deploy automatizado baseado na imagem Docker gerada no build.
- Exposição da API em ambiente de produção seguro.
git clone [https://github.com/camillifidelis/todolist-java.git](https://github.com/camillifidelis/todolist-java.git)cd todolist-java./mvnw spring-boot:run
A API estará disponível em http://localhost:8080
Este projeto foi desenvolvido durante o evento Next Level Week (NLW) da Rocketseat, focando no ecossistema Spring Boot e práticas modernas de desenvolvimento.
- Certificado de Conclusão: Visualizar Certificado