Skip to content

DevHub is an innovative platform designed to connect developers who share similar interests and complementary skills. By leveraging advanced technologies, it facilitates intelligent matchmaking and personalized recommendations, enabling devs to form effective teams and engage in meaningful collaborations.

License

Notifications You must be signed in to change notification settings

devhub-ai/devhub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevHub: Intelligent Matchmaking Platform for Developers 💻🤝

DevHub is an innovative platform designed to connect developers who share similar interests and complementary skills. By leveraging advanced technologies, it facilitates intelligent matchmaking and personalized recommendations, enabling devs to form effective teams and engage in meaningful collaborations. The platform provides a structured and user-friendly environment for networking, learning, and growth, ultimately enhancing the academic and professional experiences of developers.

Tech Stacks 🛠️

  • Backend: Flask 🐍 + LangChain 🔗
  • Frontend: Vite + React (TypeScript) ⚛️
  • Database: Neo4j + MongoDB

Features ✨

  • OTP Based Authentication (Email Verification)
  • Signin/Signup (Unique Username check and follows NIST Guidlines Validation)
  • Sharable Profiles (Share your profile with others)
  • Add/Remove Friends (Follow others to make friends)
  • Add/update/delete projects (Supports Banner image,Markdown in Desc and tech-stack tag selection)
  • Add Github and Leetcode profiles (Data in profile will be populated from the given coding accounts)
  • Convert Profile into Knowledge Graphs
  • Recomendation Engine (Graph Traversal techniques)
  • Use langchain to Chat with KGs
  • Saved Chat history
  • Typing animation and Markdown response
  • Share projects with unique projectID
  • Star your and other user's project
  • Visualize your Relation in Graph using d3
  • Add Neo4j account, get graph Schema and Execute your query
  • Save image as png of graph and also share it with others using shareable link
  • Feed Section (Common section where Users can post images with description and tags)
  • Users can see and share particular post
  • Upvote and Downvote Posts
  • comment on posts
  • Developer Directory to find registered developers
  • Chat with other developers (Find and message others)
  • Settings (Update profile details and webapp theme and much more)
  • Help, Docs, Feedback and Contact for support
  • Responsive Design
  • Supports Dark Mode

Local Installation 🧑🏻‍💻

Enter into the root directory.

cd devhub

You can use setup.bat to automate the installation and running process of the webapp. (make sure to make .env in server and populate it with the data)

./setup.bat

Manual Installation ⚒️

  1. Open two terminal for server and client and enter into the directories.

    ## 1st terminal for server
    cd server
    
    ## create .env file with following details (you can create your neo4j account or use our mirror database credentials)
    
    GOOGLE_API_KEY= 
    SECRET_KEY=
    NEO4J_URI= 
    NEO4J_USER=
    NEO4J_PASSWORD=
    MONGODB_URI=
    CLOUDINARY_NAME=
    CLOUDINARY_API_KEY=
    CLOUDINARY_API_SECRET=
    
    ## Join our discord server to get Mirror Database Credentials.
    Discord Server Link : https://discord.gg/u86Gy2qFHm
    ## Create and activate Virtual Environment
    python -m venv venv
    
    ./venv/Scripts/activate
    ## Install dependencies
    pip install -r requirements.txt
    ## Run the Server
    flask run or python server.py
    ## 2nd terminal for client
    cd client
    
    ## Install dependencies
    npm install
    
    ## Run the client
    npm run dev

Docker Installation 🐋

  1. Pull the devhub-server image from the dockerhub

    docker pull deepraj21/devhub-server:latest
  2. Go into the server directory having .env file to run the image into a container

    docker run -d -p 5000:5000 --name devhub-server --env-file .env deepraj21/devhub-server:latest

API Documentation 📜

Our API is designed to give you access to all core functionalities of DevHub programmatically. You can interact with the platform's matchmaking, user profile creation, and project exploration features via HTTP requests. To get started with the API, please refer to our Postman documentation, which provides detailed information on all available endpoints.

Conclusion 🎉

By integrating LLMs for natural language understanding, LangChain for workflow enhancement, and Neo4j for advanced data storage and querying, DevHub offers a comprehensive solution for devs seeking meaningful collaborations. This combination not only enhances user experience but also ensures that connections are based on relevant skills and interests, leading to more effective teamwork.

Contribution

See the CONTRIBUTION GUIDE to get started.

About

DevHub is an innovative platform designed to connect developers who share similar interests and complementary skills. By leveraging advanced technologies, it facilitates intelligent matchmaking and personalized recommendations, enabling devs to form effective teams and engage in meaningful collaborations.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks