Skip to content

rcodeborg2311/GITHUB_REPO_AI_FINDER

Repository files navigation

GitHub Project Recommender Welcome to the GitHub Project Recommender, an innovative solution designed to help users find relevant and trending GitHub repositories based on their search queries. This project leverages the power of Natural Language Processing (NLP) and Machine Learning to analyze user input and provide tailored recommendations from the vast GitHub ecosystem.

🎯 Noble Aim The primary aim of this project is to assist developers, researchers, and enthusiasts in discovering valuable GitHub repositories efficiently. By providing a search-based recommendation system, we hope to enhance productivity and foster collaboration within the developer community.

🚀 Features • Advanced NLP Processing: Utilizes spaCy to process and lemmatize user input for precise keyword extraction and search accuracy. • GitHub API Integration: Seamlessly connects to the GitHub API to fetch repositories based on processed keywords. • Machine Learning: Employs TF-IDF Vectorization and Cosine Similarity to recommend the most relevant projects. • Dynamic Updates: Continuously updates the recommendation model with each new input, ensuring fresh and accurate suggestions. • User-Friendly Interface: Simple and intuitive UI for entering project ideas and viewing recommendations. • Secure: Environment variables for sensitive data like SECRET_KEY ensure your application's security.

🛠️ Technologies and Tools Used Backend • Django: The high-level Python Web framework that encourages rapid development and clean, pragmatic design. • Gunicorn: A Python WSGI HTTP Server for UNIX, used to serve the Django application. Machine Learning and NLP • spaCy: An open-source software library for advanced Natural Language Processing, used for processing and lemmatizing user input. • scikit-learn: A machine learning library in Python, used for TF-IDF Vectorization and calculating Cosine Similarity. Deployment • Railway: A platform-as-a-service (PaaS) that provides easy deployment and management of web applications. • Whitenoise: Used to serve static files directly from the application in production. Dependencies • Django: v4.2.14 • joblib: v1.4.2 • requests: v2.32.3 • scikit-learn: v1.2.2 • spaCy: v3.7.5 • gunicorn: v20.1.0 • python-decouple: v3.7 • dj-database-url: v0.5.0 • whitenoise: v6.0.0

📚 Getting Started Prerequisites Python: Ensure you have Python installed on your machine. Installation

  1. Set Up Virtual Environment:
python3 -m venv myenv
source myenv/bin/activate
  1. Install Dependencies:
pip install -r requirements.txt
  1. Set Environment Variables:

Create a .env file in the project root and add the necessary variables: SECRET_KEY=your_secret_key_here DEBUG=True

  1. Run Migrations: python manage.py migrate

  2. Start the Development Server:

python manage.py runserver

6. Open the Application: Visit http://localhost:8000 in your web browser.

🚀 Deployment Note: Deployment is currently in progress.(AWS Lambda Preferred)

🙌 Acknowledgments • spaCy: For the powerful NLP capabilities. • GitHub API: For providing access to a vast array of repositories. • Railway: For the easy and powerful deployment platform.

Thank you for using the GitHub Project Recommender! We hope it helps you find the best projects for your needs. If you have any questions or suggestions, feel free to reach out or contribute to the project.

About

A Django-based web app using NLP and machine learning to recommend relevant GitHub repositories based on user input, deployable on Vercel.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors