Back-end desenvolvido com NodeJS, TypeScript, Prisma e Express para prover dados para as aplicações em desenvolvimento.plicações do evento NLW eSports.

Overview

NLW eSports Back-End Badge Badge Badge Badge



Aplicação back-end para surprir as necessidades de dados das demais plataformas desenvolvidas que são citadas mais abaixo. Este sistema é capaz de listar os jogos disponíveis, seus respectivos anúncios e cadastrar novos anúncios de um jogo.

Durante o evento do NLW da Rocketseat, essa foi a aplicação a ser desenvolvida durante o evento.

Além do atual projeto, foi desenvolvido uma aplicação mobile e para web, na qual requisitam os dados para essa API.

Tecnologias utilizadas no projeto

  • Prisma
  • Express
  • NodeJS
  • TypeScript

Instalação

Para instalar e usar pelo repositório, clone o repositório e instale as dependências usando o seguinte comando no diretório raiz.

npm install

ou se preferir:

yarn install

Execução

E por fim, para executar o projeto basta inserir o seguinte comando:

npm run dev

ou se preferir:

yarn run dev

Rotas

Importante ressaltar que localmente a url para acesso é localhost:3333, caso o repositório seja hospedado em um servidor é necessário revisar essas informações na hora de usufruir da API.

Listar jogos

get('/games/')

Saída:

[
  {
    "id": "e5bdc648-c1bf-4cc1-8721-a548d58775b5",
    "title": "League of Legends",
    "bannerUrl": "https://static-cdn.jtvnw.net/ttv-boxart/21779-285x380.jpg",
    "_count": {
      "ads": 0
    }
  },
  {
    "id": "6cf741e6-9893-44a8-931f-414b083de6aa",
    "title": "Minecraft",
    "bannerUrl": "https://static-cdn.jtvnw.net/ttv-boxart/27471_IGDB-285x380.jpg",
    "_count": {
      "ads": 0
    }
  },
  {...}
]

Listar anúncios de um jogo

get('/games/id/ads')

Saída:

[
  {
    "id": "c8e82ced-6878-4cad-8ea0-466320de00ff",
    "name": "ImFelippe365",
    "weekDays": [
      "0", "6"
    ],
    "useVoiceChannel": true,
    "yearsPlaying": 2,
    "hoursStart": "13:00",
    "hoursEnd": "18:00"
  },
  {...}
]

Listar discord do jogador conectado

get('/ads/id/discord')

Saída:

{
  "discord": "ImFelippe365#2814"
}

Criar novo anúncio

post('/games/gameId/ads')

Params

gameId - ID do jogo que o anúncio será criado

Body

name - Nome do jogador (string)

yearsPlaying - Por quantos anos já jogou (number)

discord - Nome de usuário do discord (string)

weekDays - Dias da semana em que joga (number[])

hoursStart - Horário que começa a jogar (string)

hoursEnd - Horário que para de jogar (string)

useVoiceChannel - Se utiliza canal de voz para comunição (boolean)

Entrada

A requisição deve ter o corpo parecido com este:

{
  "name": "Felippe Rian",
  "yearsPlaying": 2,
  "discord": "ImFelippe365#2814",
  "weekDays": [0, 6],
  "hoursStart": "18:00",
  "hoursEnd": "23:00",
  "useVoiceChannel": true
}
You might also like...

Repositório criado para desenvolvimento do Hands On 3 do Gama Experience 42.

handson3 Repositório criado para desenvolvimento do Hands On 3 do Gama Experience 42. Neste projeto devemos criar uma API que permita criar registros

May 27, 2022

API em NodeJS, utilizando banco de dados MongoDB (TypeORM), com cobertura de testes (coverages), utilizando o Jest

API em NodeJS, utilizando banco de dados MongoDB (TypeORM), com cobertura de testes (coverages), utilizando o Jest

Api Backend Tindin Sobre API em NodeJS, utilizando banco de dados MongoDB (TypeORM), com cobertura de testes (coverages), utilizando o Jest. 👉 app ur

Jan 20, 2022

🚀 Final Esports project based on Rocketseat's Next Level Week.

🚀 Final Esports project based on Rocketseat's Next Level Week.

The evolved version of the Esports project on the Next Level Week by Rocketseat. The web client is deployed on Vercel here: https://nlw-esports-ignite

Oct 26, 2022

🎯 Plataforma para acesso aos dados de perfis de usuários do Github.

🎯 Github Profile 🚀 Desafio Front End | Compass.UOL Tecnologias | Projeto | Como rodar | Licença demo.mp4 🚀 Tecnologias 💻 Projeto Esse projeto é um

Mar 30, 2022

Projeto individual, um site para cobertura de partidas de vôlei, times onde você pode saber onde, quando acontecerá as partidas, e dados sobre os times.

Projeto individual, um site para cobertura de partidas de vôlei, times onde você pode saber onde, quando acontecerá as partidas, e dados sobre os times.

🏐 Volleyball Esports Coverage Um portal de vôlei para as pessoas se conectarem ou divulgarem suas partidas, conhecimentos e uma maneira de conhecerem

Jun 6, 2022

Projeto de código aberto para ajudar as pessoas a ingressarem em carreiras de dados

Bem vinde O que é o Data Career Guide? É um projeto gratuito de guia (não é um curso e nem um livro) para carreiras na área de dados, inspirado no Lea

Dec 30, 2022

School App / Back-End with MongoDB / mongoose / Express / TS

TEST Api Dependencies El mati se la come es por eso que en 1998 la guerra fria se llevo a mas de la mitad del activo del pais "dependencies": { "axios

Jun 10, 2022

This shows NFT tracking in the certain wallet using express back-end.

nft-tracking-for-solana-wallet Express backend for NFT tracking in the certain wallet. Webhook for scraping secondary marketplace information for part

Nov 16, 2022

Repositório criado para prática do dia 14/05 utilizando nodeJs, express, nodemon e MVC. Como base utilizamos o modelo ER criado para uma locadora de filmes fictícia.

gamabuster Repositório criado para prática do dia 14/05 utilizando nodeJs, express, nodemon e MVC. Como base utilizamos o modelo ER criado para uma lo

May 18, 2022
Owner
Felippe Rian
Front-End Developer. React Native & ReactJS. Student at IFRN
Felippe Rian
Ferramenta desenvolvida para migrar dados de um banco de dados Sqlite para Postgres.

Sqlite to Postgres Migration Ferramenta desenvolvida para migrar dados de um banco de dados Sqlite para Postgres. Atualmente você pode: Pegar os dados

Tulio Calil 5 Dec 15, 2022
Server desenvolvido para a aplicação web da NLW RocketSeat Ignite.

Back-end - servidor RocketSeat Trilha ignite Neste projeto foi criado uma página web que se comunica com um servidor. O servidor contém todos os dados

Matheus Costa 2 Sep 27, 2022
Projeto desenvolvido para o curso de desenvolvimento fullstack da escola de programação Driven.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Caio Lemos 3 Nov 11, 2022
Projeto desenvolvido para o curso de desenvolvimento fullstack da escola de programação Driven.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Caio Lemos 4 Nov 11, 2022
A NestJS module that allows you use Prisma, set up multiple Prisma services, and use multi-tenancy in each Prisma service.

NestJS Prisma Module Installation To use this package, first install it: npm i @sabinthedev/nestjs-prisma Basic Usage In order to use this package, yo

Sabin Adams 39 Dec 2, 2022
API desenvolvida em NodeJs sem o uso de framewors e, utilizando o google planilhas para armazenamento de dados

NodeJS + Google SpreadSheet Catálogo online de produtos ??️ O Projeto Desenvolver uma API de busca de informações como preço médio, marca e categoria,

Arthur Couto 10 Jul 14, 2022
Projeto construído do evento Next Level Week da Rocketseat

Tecnologias | Projeto | Layout | Licença ?? Tecnologias Esse projeto foi desenvolvido com as seguintes tecnologias: Node.js React ReactNative Expo Typ

Jhonatan Hardt de Medeiros 3 Sep 18, 2022
Este projeto acelara o desenvolvimento com express, gerando uma estrutura completa e opções de gerar controller mode e view pelo cmd.

fast-developer-express Este projeto acelara o desenvolvimento com express, gerando uma estrutura completa e opções de gerar controller mode e view pel

Rodrino Adolfo Kupessala 1 Dec 21, 2021
Aprendendo a testar Aplicações Javascript

Aprendendo a testar Aplicações Javascript Testes no ecossistema Javascript. Simples libs utilitárias, passando por uma API REST e finalmente chegando

William Koller 6 Mar 1, 2022
Desenvolvimento do projeto Proffy para Web e mobile, na segunda Next Level Week

Tecnologias | Projeto | Layout | Licença ?? Tecnologias Esse projeto foi desenvolvido com as seguintes tecnologias: Node.js React React Native Expo ??

Laciene Alves Melo 2 Jun 12, 2022