Skip to content

Frontend code #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
83 changes: 46 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,60 @@
# Front-end Coding Challenge
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Idea of the App
The task is to implement a small webapp that will list the most starred Github repos that were created in the last 30 days.
You'll be fetching the sorted JSON data directly from the Github API (Github API explained down below).
In order to change the `date` parameter and the `per_page` please check the file `GitHubService.js`.

## Features
* As a User I should be able to list the most starred Github repos that were created in the last 30 days.
* As a User I should see the results as a list. One repository per row.
* As a User I should be able to see for each repo/row the following details :
* Repository name
* Repository description
* Number of stars for the repo.
* Number of issues for the repo.
* Username and avatar of the owner.
* As a User I should be able to keep scrolling and new results should appear (pagination).
## Available Scripts

## Things to keep in mind 🚨
* Features are less important than code quality. Put more focus on code quality and less on speed and number of features implemented.
* Your code will be evaluated based on: code structure, programming best practices, legibility (and not number of features implemented or speed).
* The git commit history (and git commit messages) will be also evaluated.
* Do not forget to include few details about the project in the README (e.g explain choice of libraries, how to run it ...)
In the project directory, you can run:

## How to get the data from Github
To get the most starred Github repos created in the last 30 days (relative to 2017-11-22), you'll need to call the following endpoint :
### `npm start` / `yarn start`

`https://api.github.com/search/repositories?q=created:>2017-10-22&sort=stars&order=desc`
Runs the app in the development mode.<br>
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The JSON data from Github will be paginated (you'll receive around 100 repos per JSON page).
The page will reload if you make edits.<br>
You will also see any lint errors in the console.

To get the 2nd page, you add `&page=2` to the end of your API request :
### `npm test` / `yarn test`

`https://api.github.com/search/repositories?q=created:>2017-10-22&sort=stars&order=desc&page=2`
Launches the test runner in the interactive watch mode.<br>
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

To get the 3rd page, you add `&page=3` ... etc
### `npm run build` / `yarn build`

You can read more about the Github API over [here](https://developer.github.com/v3/search/#search-repositories
).
Builds the app for production to the `build` folder.<br>
It correctly bundles React in production mode and optimizes the build for the best performance.

## Mockups
![alt text](https://raw.githubusercontent.com/hiddenfounders/frontend-coding-challenge/master/mockup.png)
The build is minified and the filenames include the hashes.<br>
Your app is ready to be deployed!

Here's what each element represents :
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

![alt text](https://raw.githubusercontent.com/hiddenfounders/frontend-coding-challenge/master/row_explained.png)
## Learn More

## Technologies to use
Choose whatever front-end technology you're most familiar with. But here's some of the technologies our teams are familiar with:
* React
* Vue
* Angular
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).

### Code Splitting

This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting

### Analyzing the Bundle Size

This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size

### Making a Progressive Web App

This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app

### Advanced Configuration

This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration

### Deployment

This section has moved here: https://facebook.github.io/create-react-app/docs/deployment

### `npm run build` fails to minify

This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
Binary file removed mockup.png
Binary file not shown.
Loading