Connect. Learn. Grow. EduBond is a full-stack platform designed to bridge the gap between students, skills, and opportunities. It creates a decentralized ecosystem where students can trade skills, find freelance gigs, and connect with mentors in real-time.
🔗 Live Demo: https://edubond-app.vercel.app
🖥️ Backend API: https://edubond-backend.onrender.com
- Post & Apply: Students can post paid gigs or apply to existing ones.
- Workflow Management: Track gig status from
Open→Assigned→Completed. - Review System: Users can leave ratings and reviews after completion.
- A unique "Give and Take" system where students trade knowledge (e.g., "I teach React, you teach Guitar").
- Removes financial barriers to learning.
- Connects juniors with experienced seniors.
- Session booking and management system.
- Instant Messaging: Built with Socket.io for live, bi-directional communication.
- Private Rooms: Secure chat rooms for every gig and mentorship negotiation.
- Optimistic UI: Messages appear instantly for a seamless user experience.
- JWT (JSON Web Token) based authentication.
- Password encryption using Bcrypt.
- Protected routes and role-based access control.
| Domain | Technologies Used |
|---|---|
| Frontend | Next.js 15 (App Router), React, Tailwind CSS, DaisyUI, Lucide React, Axios |
| Backend | Node.js, Express.js, Socket.io (WebSockets) |
| Database | MongoDB Atlas, Mongoose ODM |
| Deployment | Vercel (Frontend), Render (Backend) |
| Tools | Git, GitHub, Postman, VS Code |
This project follows a Monorepo-style structure containing both client and server code.
EduBond/
├── client/ # Next.js Frontend
│ ├── src/
│ │ ├── app/ # App Router Pages (Gigs, Chat, Dashboard)
│ │ ├── components/ # Reusable UI Components
│ │ ├── context/ # Auth Context & Global State
│ │ └── lib/ # Utilities
│ └── public/ # Static Assets
│
├── server/ # Node.js Backend
│ ├── config/ # DB Connection
│ ├── models/ # Mongoose Schemas (User, Gig, Message)
│ ├── routes/ # API Endpoints
│ ├── server.js # Entry point & Socket.io setup
│ └── .env # Environment Variables
└── README.mdFollow these steps to run EduBond on your local machine.
Bash
git clone [https://github.com/Venuu07/EduBond.git](https://github.com/Venuu07/EduBond.git)
cd EduBond
Bash
cd server
npm install
Create a .env file in the server folder:
Code snippet
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_key
Run the server:
Bash
npm start
# Server runs on http://localhost:5000
Open a new terminal:
Bash
cd client
npm install
Create a .env.local file in the client folder:
Code snippet
NEXT_PUBLIC_API_URL=http://localhost:5000
Run the client:
Bash
npm run dev
# App runs on http://localhost:3000
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/gigs |
Fetch all available gigs |
| POST | /api/gigs |
Create a new gig |
| POST | /api/users/login |
Authenticate user & get Token |
| GET | /api/messages/:room |
Fetch chat history for a room |
-
Video Integration: WebRTC for live mentorship calls.
-
Payment Gateway: Stripe/Razorpay integration for paid gigs.
-
AI Recommendations: Suggest gigs based on user skills.
Venu Full Stack Developer GitHub | LinkedIn
Built with ❤️ for the student community.
