This is my submission (13/11/2019) for the Senior Frontend Developer Role.
Things I would like to do to make this better (if I had the time):
- Refactor the CSS. The CSS could be more modular. Currently things that are React Components have their own CSS file, but everything else is in
index.css
. I would like to split it up into other helper files. I can also abstract certain properties into more reusable classes (e.g., container, row, grid, classes for visual spaces). - Refactor folder structure. Mostly I think I could separate assets into folders, and along with the CSS refactoring have a more readable structure, though as it is now I think it works for such a small application.
- Add unit tests. Currently there are this many real tests: 0
- Accessibility. More semantic HTML.
- Pixel Perfection. Currently it is not pixel perfect (in terms of spacing and colors, though I did try my best). I took more liberties because one requirement was to be responsive but no responsive mock-ups/PSD files were provided.
Please note that I did not use any external libraries. Unless they are absolutely necessary, I usually do not want to import large frameworks or libraries into my code just to use one or two out of the 100+ features they may include (and make file sizes larger). If this application were larger and real, I would have included libraries for things like search and the slider (for example).
This project was bootstrapped with Create React App.
In the project directory, you can run npm start
. It will run the app in the development mode.
Open http://localhost:3000 to view it in the browser.