Skip to content

Sistema de votação em tempo real, criado com Node.js, utilizando: Prisma ORM, zod, Fastify como framework, Redis, Docker para lidar com serviços de PostgreSQL, utilizando conceitos API REST.

Notifications You must be signed in to change notification settings

GuilhermeMalachias/polls-nlw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polls NLW(Next Level Week)

Requisitos:

Rodando o Projeto

  • Depois de instalado os requisitos, rodaremos o comando npm install para instalar todas as dependências do projeto.
  • Em seguida npm run dev que rodara o projeto local na porta:3333.
  • E por fim o comando Docker: docker compose up -d, que deixará as aplicações configuradas rodando em background.

Rotas para Testes

Criando enquete:

  • Tipo: Post
  • url: http://localhost:3333/polls
  • dados: title(titulo da enquete) & options(opções de votos).
  • response: pollId(id da enquete utilizado na próxima rota).

Visualizando enquete e opções de votos:

  • Tipo: Get
  • url: http://localhost:3333/polls/<"id da enquete(pollId)">
  • dados: sem dados para o envio.
  • response: Enquete com titulo e opções e votos(obs: em options, pegar o id da opção a qual votará).

Votando na opção desejada:

  • Tipo: Post
  • url: http://localhost:3333/polls/<"id da opção desejada">/votes
  • dados: pollOptionId: id da opção
  • response: Sem dados de resposta

Real time: Essa é uma rota de web socket, lembre de conferir se no seu API Client a opção Web Socket ao criar uma nova rota

  • Tipo: web socket
  • url: ws://localhost:3333/polls/<"id da enquete criada">/results
  • dados: sem dados para envio
  • response: opções votadas em tempo real.

About

Sistema de votação em tempo real, criado com Node.js, utilizando: Prisma ORM, zod, Fastify como framework, Redis, Docker para lidar com serviços de PostgreSQL, utilizando conceitos API REST.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published