Coder Social home page Coder Social logo

jishu-yadav / github-recommender Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 120.47 MB

Home Page: http://github-recommender-hackathon.herokuapp.com/

Python 93.96% HTML 0.20% CSS 0.41% JavaScript 0.54% Cython 2.78% C 1.90% C++ 0.11% Fortran 0.02% Smarty 0.01% XSLT 0.01% Makefile 0.01% MATLAB 0.01% TeX 0.05% PowerShell 0.03% Batchfile 0.01% Procfile 0.01%

github-recommender's Introduction

OpenSourceBuddy : Get personalized recommendation for all your open source needs!

image

An opensource community is a loosely organized, ad-hoc community of contributors from all over the world who share an interest in meeting a common need, ranging from minor projects to huge developments. The diverse and highly motivated open source community is the harbinger of innovation and collaboration in today's competitive world.

One of the main hectic things in open source is to find a good repository to contribute especially issues that fall under your skillsets. It becomes more painful with beginners as they go through the process of finding communities and projects to contribute. The similar issue is faced by maintainers and project-owners who find it laborious to find suitable contributors whose skills align with project requirements.

A lot of time and energy can be saved if users can get personalized recommendations based on their interests and activities.

Therefore we came with this end-to-end solution for a GitHub recommendation system known as OpenSource Buddy. It provides personalized recommendations to both the project owners and the contributors alike by leveraging various AI/ML tools for its purpose.

We have three features on our website :

  1. Find projects
  2. Find Contributors
  3. Find Organisation

Project and Contributors recommendation use Context-Based recommendation model .

For project recommendation it creates a corpus of description of all 900 repositories which are used to train the model . Corpus is created using Bag of words concept and then tf-idf is appliend on bag of words to find out the importance of each term in the context. After that Latent Semantic Indexing is applied to dentify patterns in the relationships between the terms and concepts contained in a corpus. Finally similarity between the user requirement and database repos is calculated using cosine similarity.

For Organisation recommendation we used user-user collaborative filtering model.

For this we created user profile based on their activity and work done in past. Then we calculated cosine simalirity among all profiles and finally recommended those organisation where similar users are part of it.

##Technology Stack

  1. Web framework: Django
  2. Database: PostgreSQL
  3. Backend : Django
  4. Frontend: HTML/CSS/JS
  5. Deployed on Heroku
  6. Github API for collecting data

How to run

  1. Clone the repo to your local system

    git clone https://github.com/Priyanka7011/Github-recommender.git

  2. Create a virtual environment. You can use this link for reference.

    python -m venv myvenv

  3. Activate your virtual environment using :

    myvenv/Scripts/activate

    Here venv is the name of virtual environment.

  4. Install all the requirements required to run the project :

    pip install -r requirements.txt

  5. Go inside Github-Recommender folder: cd Github-Recommender

  6. Run the django server python manage.py runserver

github-recommender's People

Contributors

jishu-yadav avatar priyanka7011 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.