CSC/ECE 517 Spring 2024 - G2402 Implement REST client, REST API, and Graphql API endpoint for repositories: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Added links for GitHub repo and deployed application) |
||
Line 2: | Line 2: | ||
== GitHub Miner == | == GitHub Miner == | ||
This is a convenient tool to query a user's GitHub metrics. | This is a convenient tool to query a user's GitHub metrics. | ||
=Live Demo & Source Code= | |||
http://152.7.177.239:5000/ Link] | |||
[https://github.ncsu.edu/slimbur/GH_Miner Source Code] | |||
# Installation | # Installation |
Revision as of 13:40, 27 March 2024
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]
- 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>