Sistema onde é possível criar enquetes em diversos temas, possibilitando qualquer pessoa que queira participar realizar os votos e decidir qual opções é a melhor.
-
Fastify: Poderosa ferramenta pra construção de APIS;
-
Websocket: Usado pra comunicação em tempo real, podendo enviar os resultados das votações em cada enquete no momento em que receber os eventos de voto;
-
Redis: Usado para guardar a quantidade de voto de cada enquete para visualização posterior;
Pensado estratégicamente pra garantir uma performance na listagem das votações e suas quantidades, tirando a responsabilidade de criar querys no banco, possivelmente futuramente causando lentidões desnecessárias
-
Cookies: Usado justamente pra conseguirmos identificar os usuário na aplicação sem a necessidade de criar autenticação ou estratégias pra garantir que o usuário não faça mais de uma votação por enquete;
-
Prisma: Poderosissimo ORM pra lidar com conexão, construção e operações no nosso banco de dados;
-
PostgreSQL
-
Zod: Útil pra criarmos validação dos campos recebidos nas requisições dentro das rotas;
-
Docker
- Pub/Sub
Motivo: Acompanhado da conexão em tempo real com o usuário, sempre que houver um registro de voto, identificamos esse evento e retornamos em um canal para o usuário acompanhar de fato, em tempo real, os resultados.