Skip to content

Nileshbhat7/Hackathon-Buddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Hackathon Buddy

React Node.js Express.js MongoDB Socket.io JWT Tailwind CSS Vite

A full-stack MERN platform that intelligently matches hackathon participants with the right teammates, projects, and now live hackathons across platforms.

๐ŸŒ Live Demo

๐Ÿš€ Live Website

https://hackathon-buddy-three.vercel.app/


๐Ÿ“ธ UI Preview ๐Ÿ  Dashboard

๐Ÿค Matching Page

๐Ÿ“ฆ Projects Page

๐ŸŒ Hackathons Page

๐Ÿ‘ค Collaborative Editor

๐Ÿ‘ค Profile Page

๐ŸŒŸ Key Features

๐Ÿง  Smart Team Matching

Matches users based on:

Factor Weight Method
Skills 50% Jaccard similarity
Interests 30% Jaccard similarity
Role Compatibility 20% Compatibility matrix
  • Score range: 0โ€“100
  • Returns Top 5 best matches

๐Ÿง‘โ€๐Ÿ’ป Project Collaboration

  • Create / join / leave projects
  • Role-based team building
  • Project-specific chat rooms

๐Ÿ’ฌ Real-time Chat (Persistent)

  • Built with Socket.io
  • Room-based messaging per project
  • Stores chat history in MongoDB
  • Loads last 100 messages on join

Socket Events:

  • join_room
  • send_message
  • receive_message
  • room_history

๐ŸŒ Hackathon Discovery (NEW ๐Ÿš€)

Browse hackathons from multiple platforms in one place:

  • Devpost
  • Devfolio
  • HackerEarth
  • Unstop

Features:

  • Live aggregated hackathon feed

  • Filters:

    • Platform
    • Mode (Online / Hybrid / In-person)
    • Status (Open / Upcoming)
  • Search by tags, organizers

  • Sort by prize


๐Ÿ—๏ธ Tech Stack

Backend

  • Node.js
  • Express.js
  • MongoDB + Mongoose
  • JWT Authentication
  • Socket.io
  • bcryptjs

Frontend

  • React 18
  • Vite
  • Tailwind CSS
  • Axios
  • React Router DOM
  • Socket.io-client

๐Ÿ“ Project Structure

hackathon-buddy/
โ”œโ”€โ”€ server/
โ”‚   โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”‚   โ”œโ”€โ”€ auth.js
โ”‚   โ”‚   โ”œโ”€โ”€ users.js
โ”‚   โ”‚   โ”œโ”€โ”€ projects.js
โ”‚   โ”‚   โ”œโ”€โ”€ match.js
โ”‚   โ”‚   โ”œโ”€โ”€ github.js
โ”‚   โ”‚   โ””โ”€โ”€ hackathon.js   # NEW
โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ middleware/
โ”‚   โ”œโ”€โ”€ sockets/
โ”‚   โ”‚   โ””โ”€โ”€ editorSocket.js
โ”‚   โ””โ”€โ”€ server.js
โ”‚
โ”œโ”€โ”€ client/
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ components/
โ”‚       โ”œโ”€โ”€ pages/
โ”‚       โ”‚   โ”œโ”€โ”€ Dashboard.jsx
โ”‚       โ”‚   โ”œโ”€โ”€ Matching.jsx
โ”‚       โ”‚   โ”œโ”€โ”€ Projects.jsx
โ”‚       โ”‚   โ”œโ”€โ”€ Hackathons.jsx  # NEW
โ”‚       โ”‚   โ”œโ”€โ”€ Profile.jsx
โ”‚       โ”‚   โ””โ”€โ”€ Chat.jsx
โ”‚       โ”œโ”€โ”€ context/
โ”‚       โ”œโ”€โ”€ services/
โ”‚       โ””โ”€โ”€ utils/

โš™๏ธ Setup Instructions

Prerequisites

  • Node.js v18+
  • MongoDB (local or Atlas)

1๏ธโƒฃ Backend Setup

cd server
cp .env.example .env
npm install
npm run dev

Server runs on: ๐Ÿ‘‰ http://localhost:5000


2๏ธโƒฃ Frontend Setup

cd client
npm install
npm run dev

Frontend runs on: ๐Ÿ‘‰ http://localhost:5173


๐Ÿ” Environment Variables

server/.env

PORT=5000
MONGO_URI=mongodb://localhost:27017/hackathon-buddy
JWT_SECRET=your_secret_key
CLIENT_URL=http://localhost:5173

๐Ÿ”Œ API Endpoints

๐Ÿ” Auth

Method Endpoint
POST /api/auth/register
POST /api/auth/login

๐Ÿ‘ค Users

Method Endpoint
GET /api/users/me
PUT /api/users/update
GET /api/users/all

๐Ÿ“ฆ Projects

Method Endpoint
POST /api/projects
GET /api/projects
GET /api/projects/my
POST /api/projects/join/:id
POST /api/projects/leave/:id

๐Ÿค Matching

Method Endpoint
GET /api/match/users
GET /api/match/projects

๐ŸŒ Hackathons (NEW)

Method Endpoint
GET /api/hackathons

๐Ÿ”„ Real-time Chat Flow

  1. User joins project
  2. join_room event triggered
  3. Server sends room_history
  4. User sends message โ†’ send_message
  5. Server saves to DB
  6. Broadcast via receive_message

๐Ÿ“ธ UI Preview

  • Dashboard
  • Matching Page
  • Projects Page
  • Hackathons Page
  • Chat System

(Add screenshots here for GitHub impact)


๐Ÿšง Known Issues

  • Hackathon prize field sometimes shows raw HTML (<span>) โ†’ needs parsing fix
  • No pagination in chat (limit: 100 messages)
  • No authentication validation in socket events

๐Ÿ”ฎ Future Improvements

  • AI-based hackathon recommendations
  • Chat pagination + infinite scroll
  • Typing indicators
  • Notifications system
  • OAuth (GitHub login)
  • Email verification
  • Better hackathon data sanitization

๐Ÿงช Testing

  • Chat works across multiple users
  • Messages persist in MongoDB
  • Hackathon data loads with filters
  • Matching algorithm returns top 5 users

โš ๏ธ Reality Check (Important)

  • You built a strong MVP, not a production-ready system

  • Biggest weak points:

    • No validation on socket layer
    • Hackathon data parsing is sloppy
    • No caching โ†’ API will slow down
  • If you show this in interview, be ready to explain:

    • scaling strategy
    • data normalization
    • real-time architecture


๐Ÿ‘ฅ Team Members

Roll No. Name
35 Nilesh Anil Bhat
18 Arya Niraj Gaikwad
26 Abhishek Bhimrao Patil
29 Komal Ganesh Walke

๐Ÿ Conclusion

Hackathon Buddy now combines:

  • Smart team matching
  • Project collaboration
  • Real-time communication
  • Hackathon discovery

This makes it a complete ecosystem for hackathon participants, not just a matching tool.


About

Hackathon Buddy is a MERN-based platform that streamlines hackathons through team matching, collaborative coding, real-time chat, and event management.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages