PokeQueue: Report Generator System with Queues and Workers

Pokequeue is a web app to generate reports about pokemons using the PokeAPI. The system is design with scalability in mind, implementing queues and background processes to handle the generation of reports asynchonously. Check about PokeQueue in this page!

Pokequeue: Report Generator System with Queues and Workers
PokeQueue's architecture
Slide 0 of 0

Technology used:

Azure Terraform Docker Blob Storage Queue Storage NextJS Fastapi Python Azure Functions Azure SQL

Project Repositories

About the Project

PokeQueue is a web app for the generation of reports utilizing the PokeAPI. PokeQueue is a system designed to handle big workloads by transferring the burden of report generation from the API to a background process (worker) implemented with Azure Functions

The API and the worker are connected via a Storage Queue, that passes the messages of the reports to be generated.

Solution

To increase the system’s capabilities, the following functionalities were added to the PokeQueue

  • Implemented report deletion utilizing both the API and the worker to give a fast and smooth process to the client
  • Added error handling for unprocessable messages using poison-queues.
  • Enriched the reports data; consuming the PokeAPI, more data about a pokemon was added to each report
  • Implemented the sample size functionality, so users can generate reports with their desired amount of pokemon

All these solutions where designed and developed with the user in mind, and respecting the presented architecture by the Systems Architect

My role at the project

My role at the project was to add more features to the PokeQueue. The goal was to add the report elimination, enriched reports, and sampling features.

Designed the report elimination, enriched reports and sampling features for the pokequeue, following the system’s architecture and using the provided cloud services.

Devoloped the aforementioned features, following clean code practices and utilizing the system’s carRentalArchitecture

Deployed the aforementioned features with Docker, keeping the app live without any interruptions

Want to work together?

Lets connect and build something awesome!

Get in touch

I'm available for both full-time positions and software contracting

I'm passionate about my work and I'm always ready to follow a new challenge! Let's build your next BIG idea and make it a reality!