You are building a list of event team members using React.js.
- Use the JPG or Sketch file contained in this repository as your visual guide. If you'd like, you can download a trial of Sketch here: https://www.sketchapp.com/
- You must consume this endpoint (http://jsonplaceholder.typicode.com/users) to get the users for the list. How you consume the endpoint is up to you.
- You can use static CSS, setup a CSS precompiler + watching, or use inline styling
- You should be able to filter the list by typing into the filter text input
- Clicking on a row should expand it to reveal the user's address -- only one row should be able to be expanded at a time
- You should demonstrate knowledge on how to construct and re-use components
- Use ES6
- Write tests for your components
- Demonstrate knowledge of pure functions / components
- Find a way to incorporate Redux (We use it heavily)
- Find a way to incorporate Radium (We use it heavily)
- Add animation to the expanding rows
- Output some location-relative information using the latitude / longitude returned by the API endpoint for each user
- Add a "loading" indicator for when the users are being fetched
- Use a Gravatar for displaying a user's avatar based on the user's email
- Send Alex (aleksandrm@xara.com) an email with a link to your repository
- The design shows just a sampling of users. You should display all of the users that the endpoint returns.
- For the icons, use FontAwesome (https://fortawesome.github.io/Font-Awesome/icons/). The CSS has already been included in the project.
Contact Alex - aleksandrm@xara.com
> $ npm install webpack-dev-server webpack -g
In the directory where you'd like this repository to live, run the following commands:
> $ git clone git@github.com:rsofter/front-end-developer-exercise.git
> $ cd front-end-developer-exercise
> $ npm install
Run the development server:
> $ npm start
Open up your browser to http://localhost:5000/ and voila!
- The static CSS files you need are in
public/css
. - The React files you need are in
src
- When you edit CSS files, you will have to refresh the browser
- When you edit React files, the browser will automatically reflect your changes