📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Especialização em Backend com Java e Spring Boot. Recomendado revisar antes de começar.
🎮 Biblioteca de Jogos 01 — CRUD Básico
Trilha de Aprendizado — Projeto 1 de 4
- ➡️ 01 (este): CRUD básico de jogos · H2 · Bootstrap 5
- 02: Refatoração SOLID/DRY — camada de Service, DTOs, Bean Validation
- 03: Categorias, tema claro/escuro, deploy Render + Neon
- 04: Levantamento de Requisitos · Backlog & Sprints · Git Flow · testes · ADRs
🎓 Nível profissional simulado: Estagiário. Primeiro contato com Spring Boot + JPA + Thymeleaf: uma única entidade (
Jogo), o controller falando direto com o repositório, sem camada de serviço nem validação de formulário. O objetivo aqui é só entender como as peças se encaixam (Controller → Repository → View).🗺️ Mapa da trilha: veja a tabela comparativa completa na listagem de projetos ou na conclusão do Biblioteca de Jogos 04.`
Construir um catálogo simples da sua coleção pessoal de jogos: cadastrar, listar, marcar como zerado e remover.
💡 O mesmo conceito em outra stack: um catálogo de jogos com persistência também é o tema de P06: Meus Jogos Favoritos no curso Mobile Nativo Android (Room DB em vez de JPA).`
@Entity
public class Jogo {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String titulo;
private String plataforma;
private boolean concluido;
// getters/setters
}
JogoController)| Rota | Ação |
|---|---|
GET / |
Lista todos os jogos + formulário de cadastro |
POST /jogos |
Adiciona um novo jogo |
POST /jogos/{id}/concluir |
Alterna o status “zerado” |
POST /jogos/{id}/apagar |
Remove um jogo |
O controller injeta JogoRepository diretamente — sem camada de serviço. É assim de propósito: o Projeto 02 desta trilha refatora exatamente esse ponto.`
cd bibliotecajogos
./mvnw spring-boot:run
Acesse http://localhost:8080.`
| Variável | Valor |
|---|---|
SPRING_PROFILES_ACTIVE |
prod |
DB_URL |
jdbc:postgresql://... (com o prefixo jdbc:) |
DB_USERNAME |
usuário do Neon |
DB_PASSWORD |
senha do Neon |
💡 Recomendações Render & Neon: prefira a porta do connection pooler (
6543) em produção, mantenha?sslmode=requirena URL, e configure um timeout de conexão generoso — tanto o Render quanto o Neon (free tier) hibernam por inatividade.
—`
No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:
cd javaweb_jogos_01_crud
./mvnw spring-boot:run
./mvnw test
[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/javaweb_jogos_01_crud