Vodafone React Challenge

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).

Other information

This project was bootstrapped with Create React App.

Available Scripts

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.