Skip to content

lightning-dabbler/github-api-client

Repository files navigation

GitHub API Client

CircleCI Build Status

:octocat: GitHub REST API v3

Table of Contents

Requirements

App

Unix

Unix Download

Run

./prod-run # http://localhost:80

Windows

Windows Download

Run

win_prod_run.bat 
REM http://localhost:80

APIs

API Usage Examples

Search

Repositories

Response

{
    "headers":{
        ...
    },
    "items":[
        {
      "archive_url": "https://api.github.com/repos/freeCodeCamp/freeCodeCamp/{archive_format}{/ref}", 
      "archived": false, 
      "assignees_url": "https://api.github.com/repos/freeCodeCamp/freeCodeCamp/assignees{/user}", 
        ...
      "default_branch": "master", 
      "deployments_url": "https://api.github.com/repos/freeCodeCamp/freeCodeCamp/deployments", 
      "description": "freeCodeCamp.org's open source codebase and curriculum. Learn to code for free together with millions of people.", 
      "disabled": false, 
      ...
        },
        ...
    ],
    "status_code": 200
}

Users

Response

{
    "headers":{
        ...
    },
    "items": [
    {
      "avatar_url": "https://avatars3.githubusercontent.com/u/3190659?v=4", 
      "events_url": "https://api.github.com/users/Lightn/events{/privacy}", 
      "followers_url": "https://api.github.com/users/Lightn/followers", 
      "following_url": "https://api.github.com/users/Lightn/following{/other_user}", 
      "gists_url": "https://api.github.com/users/Lightn/gists{/gist_id}", 
      ...
    },
    ...
    ],
    "status_code": 200
}

Commits

Response

  {
      "headers":{
          ...
      },
  "items": [
    {
      "author": {
        "avatar_url": "https://avatars1.githubusercontent.com/u/17667652?v=4", 
        ...
        "login": "hareku", 
        "node_id": "MDQ6VXNlcjE3NjY3NjUy", 
        "organizations_url": "https://api.github.com/users/hareku/orgs", 
        "received_events_url": "https://api.github.com/users/hareku/received_events", 
        "repos_url": "https://api.github.com/users/hareku/repos", 
        "site_admin": false, 
        "starred_url": "https://api.github.com/users/hareku/starred{/owner}{/repo}", 
        "subscriptions_url": "https://api.github.com/users/hareku/subscriptions", 
        "type": "User", 
        "url": "https://api.github.com/users/hareku"
      }, 
      "comments_url": "https://api.github.com/repos/vuejs/vue/commits/841bb084ca288e142b1958346bb1182bf6f0a564/comments", 
      "commit": {
          ...
          }
    ...
    },
    ...
  ],
  "status_code": 200
  }

GitHub Emojis

Response

{
    "headers":{
        ...
    },
  "items": {
    "+1": "https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png?v8", 
    "-1": "https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png?v8", 
    "100": "https://github.githubassets.com/images/icons/emoji/unicode/1f4af.png?v8", 
    "1234": "https://github.githubassets.com/images/icons/emoji/unicode/1f522.png?v8",
    ...
  },
  "status_code": 200
}

Trending

Repositories

Response

{
    "headers":{
        ...
    },
  "items": [
    ...
    {
      "author": "ahertel",
      "avatar": "https://github.com/ahertel.png",
      "built_by": [
        {
        "avatar": "https://avatars0.githubusercontent.com/u/3003066",
        "profile": "https://github.com/ahertel",
        "username": "ahertel"
        },
        {
        "avatar": "https://avatars3.githubusercontent.com/u/7012513",
        "profile": "https://github.com/antoniablair",
        "username": "antoniablair"
        }
    ],
      "description": "A Mac tool that finds available delivery slots for Amazon's Whole Foods delivery and Amazon Fresh services",
      "forks": 145,
      "language_color": "#101F1F",
      "name": "Amazon-Fresh-Whole-Foods-delivery-slot-finder",
      "present_freq_stars": "381 stars this week",
      "programming_language": "AppleScript",
      "stars": 874,
      "url": "https://github.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder"
    },
    ...
  ],
  "status_code": 200
}

Developers

Response

{
    "headers":{
        ...
    },
  "items": [
    {
      "avatar": "https://avatars0.githubusercontent.com/u/317464", 
      "name": "Sa\u00fal Ibarra Corretg\u00e9", 
      "popular_repository": {
        "description": "Python interface for libuv", 
        "name": "pyuv", 
        "url": "https://github.com/saghul/pyuv"
      }, 
      "profile": "https://github.com/saghul", 
      "username": "saghul"
    },
    ...
  ],
    "status_code": 200
}

Visuals

Home Page

GitHub API Client Home page

DevelopersRepositories
Full Page GitHub API Client Home page DevsFull Page GitHub API Client Home page repos

Search Page

GitHub API Client search page commits

UsersRepositoriesCommits
Full Page GitHub API Client Search page usersFull Page GitHub API Client Search page repos Full Page GitHub API Client Search page commits

404

GitHub API Client Invalid Web Page

API

Sample commit search; uri = http://localhost:80/api/search/commits/test+repo:vuejs/vue

Trending Repositories today; uri = http://localhost:80/api/cached/trending

Tech

Author

  • Osarodion Irabor