Skip to content

GithubRank application provides endpoint that given the name of the organization will return a list of contributors sorted by the number of contributions.

Notifications You must be signed in to change notification settings

ivankliuk/githubrank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GithubRank

Summary

GitHub portal is centered around organizations and repositories. Each organization has many repositories and each repository has many contributors. GithubRank application provides endpoint that given the name of the organization will return a list of contributors sorted by the number of contributions.

Installation

You need to have git and sbt installed on your OS.

$ git clone git@github.com:ivankliuk/githubrank.git && cd githubrank

(Optional) Obtain Github API token as described here and set GH_TOKEN environment variable:

$ export GH_TOKEN=Github_API_token

Running

To run the application locally:

$ sbt runProd

It will be listening on a socket address localhost:8080.

Example

Sample input:

$ time curl -i http://localhost:8080/org/scala/contributors

will return something like:

[
    {
        "contributions": 3154,
        "login": "lrytz"
    },
    {
        "contributions": 4145,
        "login": "retronym"
    },
    {
        "contributions": 4540,
        "login": "adriaanm"
    },
    {
        "contributions": 4689,
        "login": "paulp"
    },
    {
        "contributions": 5969,
        "login": "SethTisue"
    }
]

TODO

  • Tests
  • Logging
  • Circuit breaker for WSClient
  • Streaming endpoint
  • Throttling

About

GithubRank application provides endpoint that given the name of the organization will return a list of contributors sorted by the number of contributions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages