O projeto "Quer Apostar" é uma API de apostas, oferecendo três principais rotas: /participants, /games, e /bets. Aqui você encontrará informações sobre como configurar e executar o projeto, bem como os endpoints disponíveis em cada rota.
Antes de iniciar, certifique-se de ter o Node.js e o npm instalados no seu sistema. Em seguida, execute o seguinte comando para instalar as dependências:
npm install Crie dois arquivos .env, um para o ambiente de desenvolvimento e outro para o ambiente de teste, seguindo o formato fornecido em .env.example. Preencha as variáveis de ambiente necessárias.
Execute as migrações do banco de dados usando os seguintes comandos:
-
Desenvolvimento:
npm run dev:migration:run
-
Geração de Migração (se necessário):
npm run dev:migration:generate
-
Teste:
npm run test:migration:run
-
Geração de Migração para Teste (se necessário):
npm run test:migration:generate
-
POST /participants
- Envia informações para criar um novo participante.
{ "name": "Nome do Participante", "balance": 1000 }
- Envia informações para criar um novo participante.
-
GET /participants
- Retorna uma lista de todos os participantes.
-
POST /games
- Envia informações para criar um novo jogo.
{ "homeTeamScore": 2, "awayTeamScore": 1, "amountBet": 1000, "gameId": 1, "participantId": 1 } - Retorna informações sobre o jogo criado.
{ "id": 1, "createdAt": "timestamp", "updatedAt": "timestamp", "homeTeamScore": 2, "awayTeamScore": 1, "amountBet": 1000, "gameId": 1, "participantId": 1, "status": "PENDING", "amountWon": null }
- Envia informações para criar um novo jogo.
-
GET /games
- Retorna uma lista de todos os jogos.
-
POST /games/:id/finish
- Finaliza um jogo enviando os resultados.
{ "homeTeamScore": 2, "awayTeamScore": 1 } - Retorna informações sobre o jogo finalizado.
- Finaliza um jogo enviando os resultados.
{
"id": 1,
"createdAt": "timestamp",
"updatedAt": "timestamp",
"homeTeamName": "Nome Time da Casa",
"awayTeamName": "Nome Time Visitante",
"homeTeamScore": 2,
"awayTeamScore": 1,
"isFinished": true
}-
GET /games/:id
- Retorna informações sobre um jogo específico.
- POST /bets
- Envia informações para criar uma nova aposta.
{ "homeTeamScore": 2, "awayTeamScore": 1, "amountBet": 1000, "gameId": 1, "participantId": 1 } - Retorna informações sobre a aposta criada.
{ "id": 1, "createdAt": "timestamp", "updatedAt": "timestamp", "homeTeamScore": 2, "awayTeamScore": 1, "amountBet": 1000, "gameId": 1, "participantId": 1, "status": "PENDING", "amountWon": null }
- Envia informações para criar uma nova aposta.
Deploy do back feito no render.
Segue o link do Deploy: https://quer-apostar-itxm.onrender.com
Espero que estas instruções sejam úteis para configurar e utilizar a API "Quer Apostar". Se houver alguma dúvida ou problema, sinta-se à vontade para entrar em contato.