Skip to content

bloqit/fe-engineering-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Frontend Engineering Challenge, by Bloqit

With the advent of Pokémon GO many fans got the opportunity to live and breathe their good old memories as Pokémon Trainers. They didn't merely want to relive the past, they sought to ascend to the pinnacle of Pokémon mastery, to become revered as true Pokémon Masters. Yet, as they embarked on this journey from humble beginnings, a palpable void became evident — a missing link in their quest for excellence. With no centralized platform to track their progress, many felt adrift in their pursuit of greatness. It was this unmet need that sparked a quest for innovation, a quest to develop a platform that would serve as a guiding light on their path to Pokémon mastery.

So, how can we help them?

The challenge

After having spoken with a couple of Trainers, we were able to gather the most anticipated use cases

As a Pokémon Trainer I want to:

  • See all Pokémons that can be caught with their respective names and pictures
    • Which one of these were already caught by me
  • See all Pokémons that I've caught and thus added to my Pokédex
  • See the most important details of each Pokémon (caught and uncaught):
    • Height, Weight, Health (HP), Speed, Attack, Defense, Special Attack, Special Defense and its types
    • When the Pokémon was first added to the Pokédex
  • Share any Pokémon with my fellow trainer colleagues, especially the ones already caught
  • Have access to my Pokédex with limited internet connectivy or none at all
  • Have a quick overview of my progress within the Pokédex
  • Manage my Pokédex according to my taste and needs:
    • Filter and Sort Pokémons by Name, Height Types and Timestamp
    • Remove one or multiple Pokémons at once
    • Attach a free-text Note to each Pokémon
  • Alternate between different view modes
    • An analytical view (e.g table) is mandatory but surely it's not the best option when the only nearby device at my disposal is my phone
  • Export all Pokémons from the Pokédex to CSV

Fortunately, a popular and free Pokémon API comes to rescue us with this endeavor: PokéAPI

What will be analyzed

Code cohesion, quality, clearness, and correctness

We value clean code that works and that follows industry-wide standards. Be ready to bring your best programming skills to the table

Test coverage

The "that works" part in the topic above cannot be expressed with 100% certainty unless we have good test coverage. Feel free to include some while implementing your solution

Codebase organization, modularization, and coupling

In such a dynamic and fast-paced environment like ours, we always keep an eye out for scalability and also for eventual strategic swings and changes of priority in our product offerings. In a scenario like that, good modularization and low coupling are two critical aspects that allow us to move fast without breaking things

Engineering principles and practices

Sometimes it's good to know the theoretical principles behind certain practices, feel free to bring some of the patterns you may judge necessary when implementing the solution

Attention to detail

Achieving pixel perfection often comes at the cost of runtime performance and implementation. Adding more features can enhance the functionality of an application, but it also introduces complexity that may overwhelm users, especially those new to the platform. Striving for simplicity in design doesn't mean sacrificing functionality. It means prioritizing the most essential features to ensure a smooth, accessible and enjoyable user experience across various devices and network conditions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published