Skip to content

Gabrielx47/dslist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dslist

Arquitetura do projeto

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.


Sumário


Visão geral

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.


Modelo de domínio

Modelo de domínio

A imagem acima ilustra o modelo de domínio, expondo os detelhas das entidades e seus relacionamentos.


Tecnologias

  • Backend: Static Badge + Static Badge

  • Frontend mobile: Static Badge / Static Badge

  • Banco de dados: Static Badge / Static Badge

  • Build: Static Badge


Pré-requisitos

  • Git
  • Java 21
  • Maven
  • Node.js (16+) e npm/yarn
  • Expo CLI (opcional global): npm install -g expo-cli ou use npx expo

Como executar

As instruções abaixo cobrem os passos gerais para rodar localmente.

Backend

  1. Entre no diretório do backend (ex.: cd backend se houver pasta):
    cd backend
  2. Instale dependências e rode:
    • Com Maven:
      mvn clean install
      mvn spring-boot:run
    • Ou com Gradle:
      ./gradlew bootRun
  3. Configurações:
    • Configure application.properties / application.yml para 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.

Verifique os logs para confirmar que a API iniciou (ex.: "Started Application").

Frontend (Expo)

  1. Entre no diretório do frontend:
    cd frontend
  2. Instale dependências:
    npm install
    # ou
    yarn
  3. Inicie o Expo:
    npx expo start
    # ou, se instalado globalmente:
    expo start
  4. 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).


Endpoints da API

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

Endpoints da Documentação da API com OpenAPI/Swagger

  • /api-docs - para acessar a documentação escrita com OpenAPI
  • /documentation.html - para vizualizar a documentação com o Swagger-UI


Estrutura do projeto (exemplo)

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

Testes

  • Backend: rodar testes unitários/integrados via mvn test.
  • Frontend: use ferramentas de testes de sua escolha (Jest, Detox etc.)

Licença

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.


Contato

Gabrielx47 — gabrieldossantosmendonca0@gmail.com


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors