The goal of this challenge is to give us some idea of a perspective employee's coding ability or their ability to learn if they are unfamiliar with React.
You are our newest employee and you've been tasked with building a web app for one of the following clients, your choice:
Project A
The client wants to create a web app that allows users to browse and view breweries. They have proposed using this API.
Project B
The client wants to create a web app that allows users to browse and view beer. They have proposed using this API.
In short, we're looking at two main evaluation criteria: code & documentation.
Regardless of the project chosen...
- You must have two pages/views:
- One page for looking through the list of ALL beers/breweries
- One page for viewing the details of each beer/brewery
- This means I should be able to browse through the list and be able to click on any given one to view more details
- You don't need to show all the details of all/any item, show some of the most relevant or whatever is most interesting
- Some method of filtering/searching is a nice to have, but not required.
- There is no expectation whatsoever to use redux (unless you want to, of course - there is some boilerplate provided to save you some time).
- Semantic UI React is included to provide some base components & styling, although you are free to not use it.
- Feel free to refactor or modify this project in any way you feel is necessary, within reason. However, please try to avoid changing the programming stack used and/or restarting the project from scratch.
- You are limited only by your imagination (and what the API can do)!
You will also need to provide documentation to the client and your team so they can better understand the application that you've built, your approach to solving it and the decisions you took while building it. You can send it in the email or in a Readme.md.
You should document as many of the following as applicable:
- how you approached the problem
- explain your reasoning behind any technical decisions you made (for example: libraries, coding paradigms used, etc)
- best practices or changes you would make if this were a real production app
- any learning resources used
- if some steps were not completed, the steps you would have taken in your approach to complete them.
- any major issues encountered and the solutions found (or not)
If you get stuck or are unable to complete, try to explain what happened, what you did to try to resolve it, and how you would've finished the rest of the challenge.
- git
- node
- Clone this repository/project to your computer
- Install dependencies using
npm install
oryarn
- Run the project using
npm start
oryarn start
Push your code back to Gitlab.com on a branch other than master. Make a Merge Request (also known as Pull Request) to the master branch and someone on the team will review it. Do not fork the project as we will no longer have access to the code if/when you are removed from the project. We ask that you do not publicly post this in order to keep it fair for future applicants.
That's all! Good luck & thank you for your participation!