Teste Técnico Frontend

Volvo Cars

CSS, Next.js, React, Typescript

Gothenburg - Suécia

Automotivo

> 10.000

The future belongs to those who are empowered by a great idea and have the ability to carry it out.

Sobre o Teste

Para o desafio técnico de "Volvo Cars (Global Online Digital)", deverá ser utilizada a seguinte tecnologia: React. O projeto é bootstraped utilizando Next.js e deve ser implementado em React e Typescript, com suporte a navegadores modernos. A acessibilidade e a estrutura de código e reutilização são importantes. Como pontos extras, você pode usar a biblioteca de componentes do sistema de design VCC-UI e adicionar uma barra de filtro para filtrar os carros por tipo de carroceria.

Instruções do Teste

Volvo Cars (Global Online Digital)

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 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 concatating 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

Submission

Clone this repository to get started. Due to a number of reasons, not least privacy, you will be asked to zip your solution and mail it in, instead of submitting a pull-request. In order to maintain an unbiased reviewing process, please ensure to keep your name or other Personal Identifiable Information (PII) from the code.