Developer Applicant Challenge – Part 2

As part of the application process, you’ve been requested to complete the following challenge.
If you have any questions please respond to the last email you received from our team.

Challenge: A Simple ReactJS App


You will be creating a simple ReactJS “shop” app, sourcing data from an API and presenting it to the user.

Technical Requirements:

Shop app functionality

  • Create a “Shop” app
    • The header should have a title “Rymera Shop” and a menu
      • Menu should include: Shop, Cart
    • The app should have a “shop” page that displays a listing of products
    • When clicking on a product in the product listing, it should navigate to another page showing that single product
      • The single product page should show the product title, product thumbnail, SKU, price, add to cart button, and the product description
      • There should also be a “All Products” breadcrumb link at the top of the page
      • When clicking the Add To Cart on the single product page, it should add the product to the cart
    • Maintain in the app a “cart”, this should persist across the app.
    • The app should have a “cart” page to view/manage the cart
      • The “cart” page should show a table view of the current items in the cart.
        • Each item should have an action to remove the item from the cart.
  • It does NOT need to have user registration, authentication, etc.
  • It does NOT need to have completing of orders, checkout page, etc.. just simple adding/removing of products to “cart” session and a page to view the current cart.

Data/API source

  • Use the Products endpoint at as a data source to fetch Products from.


  • The code you submit should not be built with/by/from nor use boilerplate templates/libraries/code.
  • Use modern React development approaches/architecture, state management (example: React, Redux, Redux Saga).
  • Feel free to use a UI library such as Ant, Bootstrap, or other.
  • Your submission should be a fully functional React app meeting the requirements listed above.
  • Do not rush! Your code will be used to gauge your abilities and your attention to detail (one of our core values).

Submit Your Code

Step 1 of 2