/nlw-polls-server

Back-end implementation of a real-time polling system, as part of February 2024 Rocketseat's NLW

Primary LanguageTypeScript

Node.js Fastify TypeScript

Prisma Docker PostgreSQL Redis

English and Portuguese.

[NLW] Polling System

Back-End implementation of a real-time polling system, developed during the Next Level Week event, organized by Rocketseat.

Technologies

  • API: Node.js, Fastify, TypeScript
  • ORM: Prisma
  • Database: PostgreSQL, Redis
  • Containerization: Docker
  • Data Validation: Zod
  • WebSockets

Features

  • Poll creation: Create a new poll, with a question and multiple options.
  • Poll listing: List all polls, with their respective options.
  • Poll voting: Vote in a poll, incrementing the vote count of the chosen option.
  • Poll results: Get real-time updates of the poll results on each new vote, using WebSockets.

[NLW] Sistema de Enquetes

Implementação do Back-End de um sistema de enquetes em tempo real, desenvolvido durante o evento Next Level Week, organizado pela Rocketseat.

Tecnologias

  • API: Node.js, Fastify, TypeScript
  • ORM: Prisma
  • Banco de Dados: PostgreSQL, Redis
  • Containerização: Docker
  • Validação de Dados: Zod
  • WebSockets

Funcionalidades

  • Criação de Enquetes: Criar uma nova enquete, com uma pergunta e múltiplas opções.
  • Listagem de Enquetes: Listar todas as enquetes, com suas respectivas opções.
  • Votação em Enquetes: Votar em uma enquete, incrementando o contador de votos da opção escolhida.
  • Resultados de Enquetes: Obter atualizações em tempo real dos resultados da enquete a cada novo voto, utilizando WebSockets.