Backend of the project GitMe
This repository is the backend of the project GitMe, which is a GitHub repository recommendation system based on the concept of content-based filtering.
Collected 18,000+ repositories, filtered the repo which does have at least one open issue, and Pandas to create a data frame, sort it according to the language entered by the user and filter out them on different parameters like star count, issues open, pull requests and contributors.
Deployed the script on AWS Lambda, add required python packages as a layer, and triggered it using API Gateway by AWS.
Tested the deployed link using Node and ExpressJS, passing different query parameters to get desired output.
GET : https://f1p3gk74yh.execute-api.us-west-2.amazonaws.com/recommend?language={}&sortby={}
The invoke URL accepts two query parameters, the first is language=
, which asks you the language of which you wants to get the repositories and the second is sortby=
which sort the result accordingly.
Example :
GET / https://f1p3gk74yh.execute-api.us-west-2.amazonaws.com/recommend?language=Rust&sortby=stars_count
Output :
[
{
"repositories": "ralexstokes/ethereum-consensus",
"stars_count": "41",
"forks_count": "11",
"issues_count": "21",
"pull_requests": "0",
"contributors": "7"
},
{
"repositories": "defuse/DAWr",
"stars_count": "19",
"forks_count": "0",
"issues_count": "10",
"pull_requests": "0",
"contributors": "0"
},
...
]
This will return you the data of repositories with Python
as the language used and the output will be sorted by the stars_count