GithubHelp home page GithubHelp logo

frontend-coding-challenge's Introduction

Front-end Coding Challenge

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).

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).

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 ...)

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 :

https://api.github.com/search/repositories?q=created:>2017-10-22&sort=stars&order=desc

The JSON data from Github will be paginated (you'll receive around 100 repos per JSON page).

To get the 2nd page, you add &page=2 to the end of your API request :

https://api.github.com/search/repositories?q=created:>2017-10-22&sort=stars&order=desc&page=2

To get the 3rd page, you add &page=3 ... etc

You can read more about the Github API over here.

Mockups

alt text

Here's what each element represents :

alt text

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

How to submit the challenge solution?

Now after you finished your app and we assume that you already pushed it to your GitHub account, if so please follow the instructions below:

  1. Set the Repo privacy:
    • If the repo is sensitive and you're not comfortable sharing it publicly please give access to this username: salimbraksa.
    • If it's public go to the next step
  2. Send the repo's link to this email: [email protected].

frontend-coding-challenge's People

Contributors

awixor-zz avatar salimbraksa avatar zackbraksa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

frontend-coding-challenge's Issues

How to submit the challenge solution?

You've explained everything but you haven't mention any way to follow to submit the challenge solution, is it by a PR to the GitHub challenge repo or another way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.