Skip to content

Commit ecc820b

Browse files
authored
Merge pull request #56 from deepraj21/main
Update UI
2 parents 9368408 + 59574e8 commit ecc820b

24 files changed

+1332
-729
lines changed

README.md

Lines changed: 24 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,31 @@
11
# DevHub: Intelligent Matchmaking Platform for Developers 💻🤝
2-
<a href="https://discord.gg/he8QHEC8WP" target="_blank"><img src="https://img.shields.io/discord/1259889923129999411?style=flat&colorA=000000&colorB=000000&label=discord&logo=discord&logoColor=ffffff" /></a>
32

4-
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.
5-
6-
## Features 🌟
7-
8-
### Advanced Matchmaking System
9-
DevHub integrates several cutting-edge technologies to create a robust matchmaking experience:
10-
11-
- **Large Language Model (LLM)**: 🧠 Processes natural language inputs to understand user preferences and extract relevant information, enhancing matchmaking accuracy through:
12-
- Natural Language Processing (NLP) 💬
13-
- Entity Recognition 🔍
14-
- Contextual Understanding 📊
15-
16-
- **LangChain**: 🔗 Optimizes workflows by streamlining data integration between components, improving response quality and facilitating connections with external services.
3+
<center><a href="https://discord.gg/he8QHEC8WP" target="_blank"><img src="https://img.shields.io/discord/1259889923129999411?style=flat&colorA=000000&colorB=000000&label=discord&logo=discord&logoColor=ffffff" /></a>
4+
</center>
175

18-
- **Neo4j Database**: 📈 Stores user profiles and project data in a graph format, allowing for complex relationships to be represented and queried effectively. Key features include:
19-
- Knowledge Graph Creation 🌐
20-
- Advanced Querying with Cypher 🗄️
21-
- Integration with External Data Sources 🌍
22-
23-
### User Interaction Features
24-
- **Chat Functionality**: 💬 Users can interact with the system to find matches or ask questions about potential collaborations using GraphRAG technology.
25-
- **Visualization Tools**: 📊 Users can visualize their connections within the knowledge graph, aiding in understanding potential collaborations.
6+
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.
267

278
## Tech Stacks 🛠️
289

2910
- **Backend**: Flask 🐍 + LangChain 🔗
3011
- **Frontend**: Vite + React (TypeScript) ⚛️
31-
- **Database**: Neo4j 🌐 + Sqlite
12+
- **Database**: Neo4j + MongoDB
3213

33-
---
3414

3515
## Features ✨
3616

37-
1. **Create Your Profile**: Set up a personalized profile to showcase your skills and interests.
38-
2. **Find Peers**: Connect with fellow students who share similar interests and complementary skills.
39-
3. **Chat with Peers**: Engage in real-time conversations to discuss projects and collaborations.
40-
4. **Explore Projects**: View projects posted by other users to gain inspiration and insights.
41-
5. **Get Development Roadmaps**: Access curated roadmaps tailored for your development journey.
4217

43-
## Installation
18+
- [ ] **OTP Based Authentication**
19+
- [x] **Signin/Signup** (Unique Username check and follows NIST Guidlines Validation)
20+
- [x] **Create Profile**
21+
- [x] **Add/update/delete projects**
22+
- [x] **Add Github and Leetcode profiles** (Data in profile will be populated from the given handles)
23+
- [x] **Convert Profile into Knowledge Graphs**
24+
- [x] **Use langchain to Chat with KGs**
25+
- [x] **Save Chat history**
26+
- [x] **Typing animation and Markdown response**
27+
28+
## Local Installation 🧑🏻‍💻
4429

4530
Enter into the root directory.
4631
```bash
@@ -58,22 +43,27 @@ SECRET_KEY=
5843
NEO4J_URI=
5944
NEO4J_USER=
6045
NEO4J_PASSWORD=
46+
MONGODB_URI=
6147

6248
## Join our discord server to get Mirror Database Credentials.
6349
Discord Server Link : https://discord.gg/he8QHEC8WP
64-
65-
## Create Virtual Environment
50+
```
51+
```bash
52+
## Create and activate Virtual Environment
6653
python -m venv venv
6754

68-
## Activate the virtual Env.
6955
./venv/Scripts/activate
56+
```
7057

58+
```bash
7159
## Intall dependencies
7260
pip install -r requirements.txt
73-
61+
```
62+
```bash
7463
## Run the Server
7564
flask run or python server.py
7665
```
66+
7767
```bash
7868
## 2nd terminal for client
7969
cd client

client/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ lerna-debug.log*
1010
node_modules
1111
dist-ssr
1212
*.local
13+
dist
1314

1415
# Editor directories and files
1516
.vscode/*

client/dist/assets/index-BVs10sFn.js

Lines changed: 0 additions & 280 deletions
This file was deleted.

client/dist/assets/index-C_VlOH-m.css

Lines changed: 0 additions & 1 deletion
This file was deleted.

client/dist/index.html

Lines changed: 0 additions & 14 deletions
This file was deleted.

client/dist/logo.png

-22.2 KB
Binary file not shown.

client/package-lock.json

Lines changed: 96 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@
1313
"@hookform/resolvers": "^3.9.0",
1414
"@radix-ui/react-accordion": "^1.2.0",
1515
"@radix-ui/react-avatar": "^1.1.1",
16-
"@radix-ui/react-dialog": "^1.1.1",
16+
"@radix-ui/react-collapsible": "^1.1.1",
17+
"@radix-ui/react-dialog": "^1.1.2",
1718
"@radix-ui/react-dropdown-menu": "^2.1.2",
1819
"@radix-ui/react-icons": "^1.3.0",
1920
"@radix-ui/react-label": "^2.1.0",
2021
"@radix-ui/react-navigation-menu": "^1.2.0",
22+
"@radix-ui/react-popover": "^1.1.2",
2123
"@radix-ui/react-scroll-area": "^1.2.0",
2224
"@radix-ui/react-select": "^2.1.1",
25+
"@radix-ui/react-separator": "^1.1.0",
2326
"@radix-ui/react-slot": "^1.1.0",
2427
"@radix-ui/react-toast": "^1.2.1",
28+
"@radix-ui/react-tooltip": "^1.1.3",
2529
"@reduxjs/toolkit": "^2.2.7",
2630
"@tabler/icons-react": "^3.11.0",
2731
"@tsparticles/engine": "^3.5.0",

client/src/components/Auth/user-auth-form-login.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { useState } from 'react';
22
import { useNavigate } from 'react-router-dom';
33
import { toast } from "sonner";
4-
54
import { cn } from "@/lib/utils";
65
import { Icons } from "@/components/ui/icons";
76
import { Button } from "@/components/ui/button";

client/src/components/Chat/Chat.tsx

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@ import { useState, useEffect, useRef } from 'react'
22
import axios from 'axios'
33
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
44
import { PlaceholdersAndVanishInput } from '@/components/ui/placeholders-and-vanish-input'
5-
import Sidebar from "@/components/Sidebar/Sidebar"
6-
import MobileSidebar from "@/components/MobileSidebar/MobileSidebar"
75
import { Skeleton } from "@/components/ui/skeleton"
86
import Typewriter from 'typewriter-effect'
97
import ReactMarkdown from 'react-markdown';
8+
import {
9+
SidebarInset,
10+
SidebarProvider,
11+
SidebarTrigger,
12+
} from "@/components/ui/sidebar"
13+
import { SidebarLeft } from '@/components/Sidebar/Sidebar'
1014

1115
const backendUrl = import.meta.env.VITE_BACKEND_URL || 'http://localhost:5000';
1216

@@ -80,7 +84,7 @@ export const Chat: React.FC = () => {
8084

8185
setMessages((prevMessages) => [
8286
...prevMessages,
83-
{ query, response: '', isLoading: true, isTypingFinished: false }, // Initialize isTypingFinished for each message
87+
{ query, response: '', isLoading: true, isTypingFinished: false },
8488
])
8589

8690
try {
@@ -106,12 +110,14 @@ export const Chat: React.FC = () => {
106110
}
107111

108112
return (
109-
<div className="grid min-h-screen w-full md:grid-cols-[220px_1fr] lg:grid-cols-[280px_1fr]">
110-
<Sidebar />
111-
<div className="flex flex-col h-screen">
112-
<header className="sticky top-0 z-10">
113-
<MobileSidebar />
114-
</header>
113+
<SidebarProvider>
114+
<SidebarLeft />
115+
<SidebarInset>
116+
<header className="sticky top-0 flex h-14 shrink-0 items-center gap-2 bg-background">
117+
<div className="flex flex-1 items-center gap-2 px-3">
118+
<SidebarTrigger />
119+
</div>
120+
</header>
115121
<main className="flex flex-col flex-grow p-4 overflow-hidden">
116122
<div className="flex flex-col h-full w-full md:w-[80%] lg:w-[70%] xl:w-[60%] mx-auto flex-grow overflow-y-auto p-1" ref={scrollAreaRef}>
117123
<div className="space-y-4">
@@ -165,14 +171,13 @@ export const Chat: React.FC = () => {
165171
</div>
166172
</div>
167173
</main>
168-
169174
<div className="p-4">
170175
<PlaceholdersAndVanishInput
171176
placeholders={placeholders}
172177
onSubmit={onSubmit}
173178
/>
174179
</div>
175-
</div>
176-
</div>
180+
</SidebarInset>
181+
</SidebarProvider>
177182
)
178183
}

0 commit comments

Comments
 (0)