https://github.com/pradeep1991singh/frontend-react-challenge
https://github.com/pradeep1991singh/frontend-react-challenge
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/pradeep1991singh/frontend-react-challenge
- Owner: pradeep1991singh
- Created: 2019-11-27T19:32:31.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-11T15:07:17.000Z (almost 3 years ago)
- Last Synced: 2023-03-07T00:09:51.348Z (over 2 years ago)
- Language: JavaScript
- Homepage: https://frontend-react-challenge.now.sh
- Size: 1.38 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Frontend challenge
## Demo
Deployed to now and available at - [Demo](https://frontend-react-challenge.pradeep1991singh.now.sh/)
## Installation
Clone the repo and Inside the project directory, you can run several commands:
Starts the development server.
> npm run dev
Builds the app for production.
> npm run build
Runs the built app in production mode.
> npm start
## Tech Stack
- Client Side UI: ReactJs
- Server side rendering: Next.js
- Server: ExpressJs
- State management: Redux, Redux-saga
- Css-in-Js
## Instructions
1. 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)_
2. Create a web application that consumes [Github API](https://developer.github.com/v3/) and follow the [requirements](https://github.com/oddle-developer/oddle-frontend-challenge#requirements)
3. Host your production ready application on [Heroku](http://heroku.com) or [Now](https://zeit.co/now)
4. Push your new repository in your Github account
5. Send us the links to your Github repository and the deployed application
6. 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
7. We really appreciate if you are willing to spend more time to finish all those bonus tasks
## Requirements
- [x] There is a search bar to let the user search by username (login name)
- [x] While searching, the application shows an animated loading indicator made by CSS (using gif image is not allowed)
- [x] After the search is completed, the application shows the list of users along with their avatar and their username on the same page
- [x] If the results are not complete in one page, the pagination is shown on the screen
- [x] When a list item is clicked, the application is navigated to a new page that display the parsed JSON payload of that user
- [x] The new page also has to display the list of the user's repositories, followers and following
- [x] The application is built by [React](https://github.com/facebook/react) and [Redux](https://github.com/reactjs/redux)
- [x] [Webpack](https://github.com/webpack/webpack) is being used to build the application
- [x] The application style is built by one of the CSS preprocessors or CSS-in-JS
- [x] The application has to be responsive and optimised for mobile
- [x] A documentation on how the application works and how to set up and build the project is provided
- [x] The application is production ready (__HINT:__ try Google’s PageSpeed or Lighthouse)
## Bonus points
- [ ] The application is deployed on - [AWS](https://aws.amazon.com) instead of [Heroku](http://heroku.com) or [Now](https://zeit.co/now)
- [ ] The application supports IE10 and/or Android native browser (Chrome 30.0)
- [x] The pages are server-side rendered and are cached in the server
- [x] All pages' URL is reusable - meaning it can be copied and pasted on different browser and still shows the same result
- [x] All pages are SEO optimised
- [x] The project supports code splitting for each pages
- [x] The results list also asynchronous-ly shows the number of followers and following of each user without going the user page
- [x] The search input does the searching as you type (See google search as an example)
- [ ] There is animated transition between pages
- [x] The application supports theming and can easily be switched between themes