Votação Ratinho was a project we needed to build a voting system for a TV show called Ratinho.
This voting system was used in a singer challenge, each one will sign and the program's audience will vote as many times as they want for their favorite singer. In the following image, the score in the upper right corner showing each singer's vote percentages.
To build this project I use
TypeScript, for better performance I change from
Fastify and use
AWS Cloudfront and
ElastiCache as cache.
In order to handle the amount of votes I create a queue with
AWS SQS and expose it using
API Gateway HTTP, this way I could receive an infinite amount of votes because
all the infrastructure is the responsibility of
AWS, and I only interact with this vote when I consume the queue in batches of 300 votes every 3s.
This project for me was so amazing that I wrote an article about the optimizations and architecture called "From a million invocations to thousand with correct caching".