Skip to content

Instantly share code, notes, and snippets.

@linkinmedo
Last active June 24, 2022 08:33
Show Gist options
  • Save linkinmedo/68756c5149f64038458272c78b9b8925 to your computer and use it in GitHub Desktop.
Save linkinmedo/68756c5149f64038458272c78b9b8925 to your computer and use it in GitHub Desktop.

Front-end Assignment

Github Repos Compare

⚠️
Please carefully read the full document before you start working

Problem statement

Create an application that helps users find public repositories hosted on Github and compare their stats.

Objective

Deliver a SPA application prototype that answers the above problem statement.

By prototype, we mean:

  • Something functional but simple
  • The UI should be pleasant to use but shouldn't take much of your time
  • We do not expect features that are outside the basic scope of the problem

Must-haves:

  • The application must be created using react
  • The application must be styled from scratch and fully custom (no Bootstrap/Tailwind, no component libraries)
  • Using packages is allowed within what fits the task
  • The code and the file structure must be clean and DRY (no code duplication)
  • The user must have the ability to search for the repo he wants (repo name is not unique so validate for full name or show suggestions)
  • The user can add as many repos to the comparison as he wants
  • The user can remove repos from the comparison
  • The user can go directly to any of the repos Github page (by clicking on the name for example)
  • The user can see the following information about the repos
    • Organization/Owner avatar
    • Repository full name
    • Number of stars
    • Number of forks
    • Number of open issues
    • Repository creation date
    • Repository last update date
    • The language the repository is developed in
    • Repository license type
  • The codebase must be on Github, and incremental commits are heavily encouraged

Bonus points:

  • Application is hosted somewhere (heroku, netlify, personal server, etc.)
  • Search suggestions while typing
  • Mobile Responsive
  • Sharable URL

Example

This is an example of how the application might look like but it's not required to follow this design. it's just for demonstration

Example

Data

For this assignment, you should use Github's REST API which you can find the documentation for here Also using a package like octokit is allowed

Delivery

  • The Github repo must be public or shared with (@linkinmedo)
  • Please submit links to the repo and hosted application via this form
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment