This project was bootstrapped with Create React App and ejected to have full control over its configuration.
- retrieves data from an API;
- shows a grid of items (using Flexbox) with four items per row and gracefully degrading to a vertical list on narrow screens;
- uses CSS Grid for the main responsive layout;
- styles created using SASS with the BEM methodology;
- has a form that allows filtering the data set;
- shows item details (large image with information available from the API's response) in a modal when an item is clicked;
- good test coverage, using Jest and Enzyme;
- uses Flow for static type checking;
- works in IE11 and up;
- uses web fonts (Google Fonts);
- third-party package usage kept to a minimum;
- no state managers;
- UI is accessible by keyboard.