Skip to content

Commit

Permalink
Merge pull request #80 from deepraj21/main
Browse files Browse the repository at this point in the history
added docker installation guide
  • Loading branch information
deepraj21 authored Oct 28, 2024
2 parents 9aee263 + 234df09 commit 0121301
Show file tree
Hide file tree
Showing 16 changed files with 518 additions and 341 deletions.
125 changes: 71 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# DevHub: Intelligent Matchmaking Platform for Developers 💻🤝

<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>
</center>
<a href="https://discord.gg/u86Gy2qFHm" target="_blank"><img src="https://img.shields.io/discord/1259889923129999411?style=flat&colorA=000000&colorB=000000&label=discord&logo=discord&logoColor=ffffff" /></a>


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.

Expand All @@ -11,20 +11,23 @@ DevHub is an innovative platform designed to connect developers who share simila
- **Frontend**: Vite + React (TypeScript) ⚛️
- **Database**: Neo4j + MongoDB


## Features ✨


- [x] **OTP Based Authentication**
- [x] **Signin/Signup** (Unique Username check and follows NIST Guidlines Validation)
- [x] **Create Profile**
- [x] **Add/update/delete projects**
- [x] **Add/update/delete projects** (Supports Banner image,Markdown in Desc)
- [x] **Add Github and Leetcode profiles** (Data in profile will be populated from the given handles)
- [x] **Convert Profile into Knowledge Graphs**
- [x] **Use langchain to Chat with KGs**
- [x] **Save Chat history**
- [x] **Typing animation and Markdown response**

- [x] **Share projects with unique projectID**
- [x] **Star your and other user's project**
- [x] **Visualize your Relation in Graph using d3**
- [x] **Add Neo4j account, get graph Schema and Execute your query**
- [x] **Save image as png of graph and also share it with others using shareable link**

## Local Installation 🧑🏻‍💻

Enter into the root directory.
Expand All @@ -36,54 +39,68 @@ You can use `setup.bat` to automate the installation and running process of the
```bash
./setup.bat
```
### Manual Installation

Open two terminal for server and client and enter into the directories.
```bash
## 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/he8QHEC8WP
```
```bash
## Create and activate Virtual Environment
python -m venv venv

./venv/Scripts/activate
```

```bash
## Install dependencies
pip install -r requirements.txt
```
```bash
## Run the Server
flask run or python server.py
```

```bash
## 2nd terminal for client
cd client

## Install dependencies
npm install

## Run the client
npm run dev
```
### Manual Installation ⚒️

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

```bash
## 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
```
```bash
## Create and activate Virtual Environment
python -m venv venv
./venv/Scripts/activate
```

```bash
## Install dependencies
pip install -r requirements.txt
```
```bash
## Run the Server
flask run or python server.py
```

```bash
## 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

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

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

## API Documentation 📜

Expand Down
38 changes: 34 additions & 4 deletions client/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,8 @@
"cobe": "^0.6.3",
"crypto-js": "^4.2.0",
"d3": "^7.9.0",
"framer-motion": "^11.3.8",
"framer-motion": "^11.11.10",
"input-otp": "^1.2.4",
"lucide-react": "^0.414.0",
"mini-svg-data-uri": "^1.4.4",
"next-themes": "^0.3.0",
"react": "^18.3.1",
Expand Down
2 changes: 2 additions & 0 deletions client/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import Visualization from './pages/Visualization';
import PrivacyPolicy from './pages/Privacypolicy';
import ProjectDisplay from './pages/ProjectDisplay';
import TermsAndConditions from './pages/TermsAndConditions';
import Posts from './pages/Posts';

const App = () => {

Expand All @@ -28,6 +29,7 @@ const App = () => {
<Route path="/projects/:username/:projectId" element={<ProjectDisplay />} />
<Route path="/user/:username" element={<Profile />} />
<Route path="/relations/:username" element={<Visualization />} />
<Route path="/posts" element={<Posts />} />
<Route path="/privacy-policy" element={<PrivacyPolicy/>} />
<Route path="/terms-and-conditions" element={<TermsAndConditions/>}/>
<Route path="*" element={<div>404</div>} />
Expand Down
Loading

0 comments on commit 0121301

Please sign in to comment.