CSC/ECE 517 Spring 2024 - G2402 Implement REST client, REST API, and Graphql API endpoint for repositories

From Expertiza_Wiki
Revision as of 13:43, 27 March 2024 by Slimbur (talk | contribs)
Jump to navigation Jump to search

GitHub Miner

This is a convenient tool to query a user's GitHub metrics.

Live Demo & Source Code

http://152.7.177.239:5000/ Link]

Source Code

  1. Installation

We recommend using virtual environment. Steps to setup virtual environment:

cd path/to/your/project/directory
python -m venv venv

On macOS and Linux:

source venv/bin/activate

On Windows (Command Prompt):

.\venv\Scripts\activate


On Windows (PowerShell):

.\venv\Scripts\Activate.ps1

Next, install all the necessary libraries:

pip -r requirements.txt

Next, set the PYTHONPATH to

On Windows

set PYTHONPATH=%PYTHONPATH%;path/to/your/project
set PYTHONPATH=%PYTHONPATH%;path/to/your/project/backend

On Unix or MacOS

export PYTHONPATH=$PYTHONPATH:/path/to/your/project
export PYTHONPATH=%PYTHONPATH%;path/to/your/project/backend

You can run the app from your terminal by executing the following command:

python backend\run.py


GraphQL Active Endpoints

Get current user login:

/api/graphql/current-user-login

Get specific user login:

/api/graphql/user-login/<username>

Get list of all commits in a repo:

/api/graphql/specific-user-commits/<owner>/<repo_name>

Get details of all contributors in a repo:

/api/graphql/repository-contributors/<owner>/<repo_name>

REST API Endpoints

Get current user login:

/api/rest/current-user-login-rest

Get list of all commits in a repo:

/api/rest/specific-user-commits/<owner>/<repo_name>

Get details of all contributors in a repo:

/api/rest/repository-contributors/<owner>/<repo_name>