Este projeto foi desenvolvido durante o Intensivão Java Spring, apresentado pelo professor Nélio Alves, um curso focado em ensinar o desenvolvimento de aplicações web utilizando o framework Spring Boot. O DSLista é uma aplicação que gerencia listas de jogos, permitindo a consulta de jogos, listas e a movimentação de jogos entre listas. A DSLista foi desenvolvida utilizando a linguagem Java, o framework Spring Boost e seguindo o padrão em camadas que abrange entidades/ORM, DTOs e API REST.
- Listagem de Jogos: Exibe todos os jogos cadastrados no sistema.
- Detalhes do Jogo: Mostra informações detalhadas sobre um jogo específico.
- Listas de Jogos: Exibe listas de jogos e permite a movimentação de jogos entre listas.
- CORS Configurado: A aplicação permite requisições de origens específicas, configuradas via propriedades.
- Spring Boot: Framework principal para desenvolvimento da aplicação.
- Spring Data JPA: Para persistência de dados e acesso ao banco de dados.
- PostgreSQL: Banco de dados principal para ambiente de produção.
- H2 Database: Banco de dados em memória para testes.
- Maven: Gerenciador de dependências e build do projeto.
- Java 17: Versão do Java utilizada no projeto.
- Java 17: Certifique-se de ter o JDK 17 instalado.
- Maven: Instale o Maven para gerenciar as dependências e build do projeto.
- PostgreSQL: Para ambiente de produção, é necessário ter o PostgreSQL instalado e configurado.
-
Ambiente de Teste:
- O banco de dados H2 é utilizado por padrão. Para acessar o console do H2, acesse
http://localhost:8080/h2-console. - As credenciais padrão são:
- URL:
jdbc:h2:mem:testdb - Usuário:
sa - Senha: (vazio)
- URL:
- O banco de dados H2 é utilizado por padrão. Para acessar o console do H2, acesse
-
Ambiente de Desenvolvimento
- Para este ambiente precisaremos do PostgreSQL e o pgAdmin instalados e configurados.
- Tire os comentários do trecho presente no
application-dev.propertiespara criação das tabelas em SQL (lembre-se de comentar novamente após a criação delas):#spring.jpa.properties.jakarta.persistence.schema-generation.create-source=metadata #spring.jpa.properties.jakarta.persistence.schema-generation.scripts.action=create #spring.jpa.properties.jakarta.persistence.schema-generation.scripts.create-target=create.sql #spring.jpa.properties.hibernate.hbm2ddl.delimiter=;
- No arquivo
application.propertiesmude o trecho abaixo:Para:spring.profiles.active=${APP_PROFILE:test}Assim a aplicação rodará no ambiente de desenvolvimento.spring.profiles.active=${APP_PROFILE:dev}
- Ambiente de Produção:
- Configure o arquivo
application-prod.propertiescom as credenciais do seu banco PostgreSQL. - Exemplo:
spring.datasource.url=jdbc:postgresql://localhost:5433/dslist spring.datasource.username=postgres spring.datasource.password=1234567
- No arquivo
application.propertiesmude o trecho abaixo:Para:spring.profiles.active=${APP_PROFILE:test}Assim a aplicação rodará no ambiente de produção.spring.profiles.active=${APP_PROFILE:prod}
- Configure o arquivo
- O CORS está configurado para permitir requisições de origens específicas. As origens permitidas podem ser configuradas no arquivo
application.properties:cors.origins=http://localhost:5173,http://localhost:3000
- Clone o repositório
git clone https://github.com/seu-usuario/dslista.git
cd dslista- Compile o projeto
./mvnw clean install- Execute a aplicação
./mvnw spring-boot:run- Acesse a aplicação
A aplicação estará disponível em
http://localhost:8080.
- GET /games: Retorna a lista de todos os jogos.
- GET /games/{id}: Retorna os detalhes de um jogo específico.
- GET /lists: Retorna todas as listas de jogos.
- GET /lists/{listId}/games: Retorna os jogos de uma lista específica.
- POST /lists/{listId}/replacement: Move um jogo de uma posição para outra dentro de uma lista.