dslist é um projeto que implementa um catálogo/listas de jogos (DSList). O repositório contém backend e frontend (mobile/expo). Além disso, como ilustra a imagem acima, é um projeto estruturado em camadas.
- Visão geral
- Arquitetura / Modelo de domínio
- Tecnologias
- Pré-requisitos
- Como executar
- Endpoints da API
- Endpoints da Documentação da API com OpenAPI/Swagger
- Estrutura do projeto
- Contribuições
- Licença
- Contato
O projeto tem como finalidade o gerenciamento de jogos e suas categorias. Além disso, foi desenvolvido comforme os vídeos da imersão criada pelo prof. Nélio Alves.
A imagem acima ilustra o modelo de domínio, expondo os detelhas das entidades e seus relacionamentos.
- Git
- Java 21
- Maven
- Node.js (16+) e npm/yarn
- Expo CLI (opcional global):
npm install -g expo-cliou usenpx expo
As instruções abaixo cobrem os passos gerais para rodar localmente.
- Entre no diretório do backend (ex.:
cd backendse houver pasta):cd backend - Instale dependências e rode:
- Com Maven:
mvn clean install mvn spring-boot:run
- Ou com Gradle:
./gradlew bootRun
- Com Maven:
- Configurações:
- Configure
application.properties/application.ymlpara o datasource (URL, usuário, senha) e porta (ex.:server.port=8080). - Se usar banco em memória (H2) não precisa de configuração adicional para testes rápidos.
- Configure
Verifique os logs para confirmar que a API iniciou (ex.: "Started Application").
- Entre no diretório do frontend:
cd frontend - Instale dependências:
npm install # ou yarn - Inicie o Expo:
npx expo start # ou, se instalado globalmente: expo start - Abra no emulador (Android/iOS) ou no Expo Go via QR code.
Observação: ajuste a URL/base da API no cliente mobile para apontar para o backend rodando (ex.: http://localhost:8080/api ou IP da sua máquina quando usar dispositivo físico).
Abaixo seguem os endpoints disponíveis:
- GET /games — lista todos os jogos
- GET /games/{id} — detalhes de um jogo
- GET /lists — lista as categorais de jogos
- POST /lists/{listId}/games — lista os jogos de uma categoria
- /api-docs - para acessar a documentação escrita com OpenAPI
- /documentation.html - para vizualizar a documentação com o Swagger-UI
- /backend — código do servidor
📦backend
┣ 📂.mvn
┣ 📂src
┃ ┣ 📂main
┃ ┃ ┣ 📂java
┃ ┃ ┃ ┗ 📂com
┃ ┃ ┃ ┃ ┗ 📂project
┃ ┃ ┃ ┃ ┃ ┗ 📂backend
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controllers
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂entities
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂projections
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repositories
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂services
┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜BackendApplication.java
┃ ┃ ┗ 📂resources
┃ ┃ ┃ ┣ 📜application-test.properties
┃ ┃ ┃ ┣ 📜application.properties
┃ ┃ ┃ ┗ 📜import.sql
┃ ┗ 📂test
┣ 📂target
┣ 📜.gitattributes
┣ 📜.gitignore
┣ 📜mvnw
┣ 📜mvnw.cmd
┣ 📜nb-configuration.xml
┣ 📜nbactions.xml
┗ 📜pom.xml
- /frontend — código da aplicação cliente
📦frontend
┣ 📂.cursor
┣ 📂.vscode
┣ 📂app
┣ 📂assets
┃ ┗ 📂images
┣ 📜.gitignore
┣ 📜README.md
┣ 📜app.json
┣ 📜eslint.config.js
┣ 📜package-lock.json
┣ 📜package.json
┗ 📜tsconfig.json
- README.md — documentação principal
- Backend: rodar testes unitários/integrados via
mvn test. - Frontend: use ferramentas de testes de sua escolha (Jest, Detox etc.)
Coloque aqui a licença do projeto (ex.: MIT). Se ainda não houver, escolha uma licença apropriada e adicione o arquivo LICENSE no repositório.
Gabrielx47 — gabrieldossantosmendonca0@gmail.com


