Skip to content

icyJoseph/vcc-frontend-code-test

Repository files navigation

Volvo Cars (Global Online Digital)

This is a solution repository

Front-end coding test (React)

Our team's designer has come up with a new design to show our latest and greatest recharge cars on the website.

Here is how the design look like for desktop and mobile (files are stored under docs folder)

Desktop

ProductListDesktop

Mobile

ProductListDesktop

The data required to render the design is under public/api/cars.json folder. You need to fetch the data from the client side and render it in the browser. The data looks like this:

[
  {
    "id": "xc90-recharge",
    "modelName": "XC90 Recharge",
    "bodyType": "suv",
    "modelType": "plug-in hybrid",
    "imageUrl": "/images/xc90_recharge.jpg"
  }
]

The product owner is telling you that you can generate the links to the learn and shop pages of each car by concatenating the id of the car to the learn (/learn/) and shop (/shop/) urls.

Two extra SVG icons are also provided by our designer which are stored under docs folder.

Requirements

  • The project is bootstraped using Next.js.
  • Browser support is modern ever-green browsers.
  • Implement this design using React and Typescript.
  • Accessibility is important.
  • Code Structure and reusablity is important.

Bonus Points:

  • If you use our design system component library, VCC-UI
  • If you add a filter bar on the top to filter cars by bodyType

Running the project

  • Developed and tested with Node 16 and 18
  • Used yarn@1.22.19
  • For dev mode, yarn and yarn dev are enough
  • For production make sure you have an .env file with CARS_DB_PATH, as shown in .env.example
  • Run tests with yarn test