109 lines
2.3 KiB
Markdown
109 lines
2.3 KiB
Markdown
# Biblioteca do Usuário - GameVerse
|
|
|
|
Este é o microsserviço da Biblioteca do Usuário para o projeto GameVerse.
|
|
Eu sou responsável por guardar jogos e gift cards que os usuários compraram.
|
|
Aqui eu mantenho a coleção digital de cada usuário organizada e acessível.
|
|
|
|
## Minha responsabilidade
|
|
|
|
- Guardar jogos comprados pelo usuário
|
|
- Guardar gift cards adquiridos
|
|
- Manter o histórico de aquisições
|
|
- Expor a biblioteca digital para outros serviços
|
|
|
|
## Tecnologias usadas
|
|
|
|
- Node.js
|
|
- Express.js
|
|
- MySQL
|
|
- CORS
|
|
|
|
## Estrutura de dados
|
|
|
|
Tabela: `users_library`
|
|
|
|
```sql
|
|
CREATE TABLE users_library (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
user_id INT NOT NULL,
|
|
type ENUM('game', 'gift_card') NOT NULL,
|
|
item_id INT NOT NULL,
|
|
title VARCHAR(255) NOT NULL,
|
|
platform VARCHAR(100),
|
|
acquired_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
```
|
|
|
|
## Endpoints da API
|
|
|
|
### POST /library/add
|
|
Adiciona um item manualmente à biblioteca do usuário.
|
|
|
|
Exemplo de request:
|
|
```json
|
|
{
|
|
"user_id": 1,
|
|
"type": "game",
|
|
"item_id": 123,
|
|
"title": "The Witcher 3",
|
|
"platform": "Steam"
|
|
}
|
|
```
|
|
|
|
### GET /library/user/:user_id
|
|
Retorna todos os itens da biblioteca de um usuário.
|
|
|
|
### POST /library/integration/payment-approved
|
|
Recebe confirmação de pagamento aprovado e adiciona o item à biblioteca.
|
|
|
|
## Fluxo de integração
|
|
|
|
1. Recebo dados do serviço de pagamentos
|
|
2. Verifico se o item já está na biblioteca
|
|
3. Se não estiver, adiciono ao banco
|
|
4. Retorno confirmação de sucesso ou erro
|
|
|
|
## Dados de teste
|
|
|
|
Usuário 1:
|
|
- Jogo: "The Witcher 3: Wild Hunt" (Steam)
|
|
- Gift Card: "Steam Gift Card $50"
|
|
|
|
Usuário 2:
|
|
- Jogo: "Cyberpunk 2077" (Epic Games)
|
|
- Jogo: "FIFA 24" (EA Play)
|
|
|
|
## Como executar
|
|
|
|
1. Instalar dependências:
|
|
```bash
|
|
npm install
|
|
```
|
|
2. Criar o banco de dados `gameverse_library` e executar `schema.sql`
|
|
3. Iniciar o serviço:
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
O serviço estará disponível em `http://localhost:3005`
|
|
|
|
## Padrão de respostas
|
|
|
|
Todas as respostas seguem este formato:
|
|
```json
|
|
{
|
|
"success": boolean,
|
|
"message": string,
|
|
"data": any,
|
|
"error": any
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
Desenvolvido por:
|
|
- André de Oliveira Braga
|
|
- Izadora Lima de Mendonça
|
|
|
|
Centro Universitário Uninorte - Curso de Sistemas de Informação
|