Aerolab Frontend Challenge - Go to the App

Here is more information.

aerolab cover

Tech Stack

Requirements

Level 1 - It works! ⚙️

  • Make a desktop version
  • Each product should have a visible price in points.
  • Link to the project GitHub repository (footer)
  • The user should be able to sort products by price, from highest to lowest, and vice-versa.
  • The user should be able to see how many points they have in their account.
  • There should be a clear way for the user to distinguish those products that they can redeem from those they cannot.
  • A “Redeem” button should be available for those products that the user has enough points to claim.
  • A “Redeem now” option should appear when the user interacts with a product that they have enough points to claim.
  • When the user doesn’t have enough points for a product, they should be able to see how many more points they need to claim it.
  • The user should not be able to redeem a product for which they don’t have enough points.
  • When the user clicks on the Redeem now button, the system should automatically deduct the item’s price from the users’ points.
  • The user should be able add points to their account

Level 2 - Eye Candy 💅

  • All of above
  • Make a mobile responsive version
  • The "view all products" button (on Hero/Header section) should scroll view to listed products
  • Make the "Browse, Choose, Enjoy" section
  • Put all your effort into making the site look beautiful
  • Pay attention to details and the design system we provide you
  • The user should be able to filter products by category
  • The user should be able to use the pagination to view more listed products

Level 3 - Mind-blowing 🤯

  • All of above
  • Make a tablet responsive version
  • Make some visual tweaks (animations, micro interactions, etc)
  • Put all your effort on website performance (images, web vitals, network optimization, etc)
  • Be careful about SEO (metadata, markup semantics, SSR, etc.)
  • Be careful about Accesibility (keyboard navigation, narrator, markup semantics, etc.)
  • Be careful about environment variables security
  • If you want you can make some unit or integration tests