https://github.com/nikhil25803/gitmebackend
Backend of project GitMe : A GitHub repository content based recommendation system.
https://github.com/nikhil25803/gitmebackend
aws aws-lambda expressjs javascript nodejs pandas python3
Last synced: 3 months ago
JSON representation
Backend of project GitMe : A GitHub repository content based recommendation system.
- Host: GitHub
- URL: https://github.com/nikhil25803/gitmebackend
- Owner: nikhil25803
- Created: 2022-09-09T14:19:36.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-09-11T14:24:56.000Z (almost 4 years ago)
- Last Synced: 2025-04-04T15:36:24.003Z (over 1 year ago)
- Topics: aws, aws-lambda, expressjs, javascript, nodejs, pandas, python3
- Language: Python
- Homepage:
- Size: 319 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Backend of the project [GitMe](https://github.com/Kingshuk3006/Gitme)
## A GitHub repository recommendation system.
---
### Tech Stack 🖥️
   
### About
This repository is the backend of the project [GitMe](https://github.com/Kingshuk3006/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.
---
## Want to access? 🧐
**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 :
```js
[
{
"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`
---
### AWS Architecture 💫
[](https://www.linkpicture.com/view.php?img=LPic631dbf4c0917a1884256241)
---