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

From Expertiza_Wiki
Revision as of 04:02, 25 March 2024 by Aspansar (talk | contribs)
Jump to navigation Jump to search

GitHub Miner

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

  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>'
  1. Not working correctly

'/api/graphql/contributors-contribution/<owner>/<repo_name>/<id>'