This project was bootstrapped with Create React App.
The purpose of this repo is to provide you with a pre-configured repo to save time.
We recommend using yarn
, but if you prefer, go ahead with npm
. Remember to use the current LTS node version!
Instructions:
yarn
yarn start
or
npm install
npm start
The app will run in development mode at http://localhost:8080. The page will reload if you make edits and you will also see lint errors in the console.
Our designers π¦Έπ½ have created a new page for our articles, and your job is to build it using React. Here are the designs:
- Fetch the product articles from our API described below.
- Display them in a responsive grid as in the designs above
- Show only articles that cost less than 50 kr if the filter
Cheaper than 50kr
is checked.
- Add the sorting functionality
by price
andby rating
, in ascending and descending orders.Mest relevanta
(Most relevant
in Swedish) is the only sorting option provided by the API. - The sorting and filtering must work together.
-
The API endpoint you'll be using to fetch articles:
https://shop-bff.fyndiq.se/code-assignment/articles
- Note: You will need to supply two headers for the request to succeed:
market
with a value ofSE
andlocale
with a value ofsv-SE
.
- Note: You will need to supply two headers for the request to succeed:
-
All assets (like the truck and star icons) can be found here: https://fyndiq.se/halsa-skonhet/. Feel free to inspect the styles on our website and use anything from there.
-
On the live site, you will find additional functionality (quick add button, different badges, etc). You don't need to implement those. Focus on the designs from the screenshots.
-
Use any font you like. You can download one from https://fonts.google.com/.
-
You can use any technology you like for styling.
-
Please, version control your code with
git
. -
Try and implement as much as you can in 2β3 hours, and remember that you do not need to finish the entire assignment. So if time is running out, use good judgment and skip anything that is not essential for delivering something you are satisfied with.
- Code quality and readability
- Responsiveness
- Semantics