Skip to content

camillifidelis/todolist-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

─── TODOLIST-JAVA ───

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

🛠 Tecnologias

  • 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)

⚙️ Funcionalidades

  • 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

📌 Endpoints principais

Usuários

POST /users → Criar usuário

Tarefas

POST /tasks → Criar tarefa
GET /tasks → Listar tarefas
PUT /tasks/{id} → Atualizar tarefa

🐳 Docker

A aplicação foi preparada para rodar em containers, facilitando a portabilidade e o deploy. Para executar localmente via Docker:

Gerar o arquivo .jar do projeto

./mvnw clean package

Construir a imagem Docker

docker build -t todolist-java .

Iniciar o container

docker run -p 8080:8080 todolist-java

🚀 Deploy (Render)

O deploy foi realizado no Render seguindo estas etapas:

  1. Configuração do Dockerfile na raiz do projeto.
  2. Integração do repositório GitHub com o Render.
  3. Deploy automatizado baseado na imagem Docker gerada no build.
  4. Exposição da API em ambiente de produção seguro.

🟣 Como executar (Manual)

1) Clonar o repositório

git clone [https://github.com/camillifidelis/todolist-java.git](https://github.com/camillifidelis/todolist-java.git)
cd todolist-java

2) Rodar via Maven

./mvnw spring-boot:run

A API estará disponível em http://localhost:8080

🎓 Créditos e Certificação

Este projeto foi desenvolvido durante o evento Next Level Week (NLW) da Rocketseat, focando no ecossistema Spring Boot e práticas modernas de desenvolvimento.


CamiDev Logo

About

API REST de gerenciamento de tarefas desenvolvida em Java 21 com Spring Boot. Inclui autenticação Basic Auth, criptografia de senhas (BCrypt), containerização com Docker e deploy automatizado no Render.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors