📚 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

🎓 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.`

🎯 Objetivo

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).`

🛠️ Tecnologias

🗄️ Modelagem

@Entity
public class Jogo {
    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String titulo;
    private String plataforma;
    private boolean concluido;
    // getters/setters
}

📋 Funcionalidades (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.`

🏁 Executando o Projeto

cd bibliotecajogos
./mvnw spring-boot:run

Acesse http://localhost:8080.`

🚀 Deploy (Render + Neon)

  1. Crie um banco PostgreSQL gratuito no Neon.
  2. Crie um Web Service no Render, runtime Docker.
  3. Configure as variáveis de ambiente:
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=require na URL, e configure um timeout de conexão generoso — tanto o Render quanto o Neon (free tier) hibernam por inatividade.


Voltar para Projetos

—`

🚀 Como Executar no Laboratório

1. Abra o terminal na pasta deste projeto

No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:

cd javaweb_jogos_01_crud

2. Execute a aplicação e os testes

./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