- Allocate around 4 hours on this project (Spending more time is okay but we believe that 4 hours is reasonable to complete all requirements and some bonus points)
- Create a web application that consumes Github API and follow the requirements
- Host your production ready application on Heroku or Now
- Push your new repository in your Github account
- Send us the links to your Github repository and the deployed application
- While completing all bonus points are not mandatory but it is expected to complete some of them since the core requirements should be finished within 4 hours
- We really appreciate if you are willing to spend more time to finish all those bonus tasks
- There is a search bar to let the user search by username (login name)
- While searching, the application shows an animated loading indicator made by CSS (using gif image is not allowed)
- After the search is completed, the application shows the list of users along with their avatar and their username on the same page
- If the results are not complete in one page, the pagination is shown on the screen
- When a list item is clicked, the application is navigated to a new page that display the parsed JSON payload of that user
- The new page also has to display the list of the user's repositories, followers and following
- The application is built by React and Redux
- Webpack is being used to build the application
- The application style is built by one of the CSS preprocessors or CSS-in-JS
- The application has to be responsive and optimised for mobile
- A documentation on how the application works and how to set up and build the project is provided
- The application is production ready (HINT: try Google’s PageSpeed or Lighthouse)
- The application is deployed on AWS instead of Heroku or Now
- The application supports IE10 and/or Android native browser (Chrome 30.0)
- The pages are server-side rendered and are cached in the server
- All pages' URL is reusable - meaning it can be copied and pasted on different browser and still shows the same result
- All pages are SEO optimised
- The project supports code splitting for each pages
- The results list also asynchronous-ly shows the number of followers and following of each user without going the user page
- The search input does the searching as you type (See google search as an example)
- There is animated transition between pages
- The application supports theming and can easily be switched between themes