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.
- Backend: Flask 🐍 + LangChain 🔗
- Frontend: Vite + React (TypeScript) ⚛️
- Database: Neo4j + MongoDB
- 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
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
-
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
-
Pull the devhub-server image from the dockerhub
docker pull deepraj21/devhub-server:latest
-
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
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.
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.
See the CONTRIBUTION GUIDE to get started.