Hackathons are rapidly becoming the breeding ground for innovation, collaboration, and practical skill development in the tech world. However, participants often face significant challenges in finding the right team, organizing workflows, and staying updated with event milestones. HackMate aims to bridge these gaps by offering an all-in-one platform designed specifically to streamline the hackathon experience. HackMate is a dynamic web-based platform that empowers students, developers, and innovators to connect, collaborate, and compete effectively in hackathons.
- 🔐 User Authentication & Profile Dashboard
- 💬 Real-Time Chat System (Socket.io)
- 👥 Team Management (Add, Invite, Remove Members)
- 📅 Hackathon Calendar & Event Ticker (Python)
- 🧠 Chaturbot – AI-powered Help & Idea Generator
- 🧩 Daily Coding Challenges & Puzzle Section
- 📍 Hackathon Roadmap Visualization
- 🧑💻 Code Editor for Multiple Languages
- ✅ Code Submission & Evaluation
- 🎯 Matchmaking for Hackathon Teams
- 📱 Fully Responsive UI/UX
- Facilitate team-based learning and project building
- Automate team formation and project submission
- Keep participants updated with event milestones
- Encourage skill-building through collaborative coding
- Support innovation through smart idea generation
- Homepage with Hackathon Ticker
- Login / Signup System
- Personalized User Dashboard
- Team Management Panel
- Daily Challenge & Puzzle Hub
- AI Chatbot – Chaturbot
- Real-Time Chat Integration
- Hackathon Calendar & Event Tracker
- Code Editor & Code Submission Flow
| Layer | Technologies Used |
|---|---|
| Frontend | HTML, CSS, JavaScript |
| Backend | Node.js, Express.js |
| Database | MongoDB |
| AI & Scripting | Python (Ticker, Chatbot: Chaturbot) |
| Real-Time | Socket.io |
| Tools | Git, GitHub, VS Code |
Follow these comprehensive steps to get your HackMate project up and running on your local machine. Ensure you follow the order as some components depend on others.
Before you begin, ensure you have the following installed:
- Node.js: Version 14 or higher is recommended. You can download it from nodejs.org.
- npm or yarn: These package managers come with Node.js.
- Python 3: Make sure Python 3 is installed. You can download it from python.org.
- pip: Python's package installer, usually comes with Python 3.9*+
- MongoDB: Make sure MongoDB is installed and running on your system. You can find installation instructions on the MongoDB website.
git clone https://github.com/Gunpreet08/HackMate.git
cd HackMateNavigate to the root of your cloned project and install the top-level Node.js dependencies :
npm installThe main backend server (app.js) and other Node.js components might require environment variables. Create a file named .env in the formmongo/server directory.
*Example `.env` content (you'll need to fill in actual values based on your `app.js` or server configuration):*
MONGODB_URI=mongodb://localhost:27017/your_database_name
PORT=5000
# Add any other environment variables your server uses, e.g., API keys, etc.
This is the primary backend for the application. Navigate to the backend server directory and start the application. Note that nodemon is used here, which is listed as a dependency in package.json for formmongo/server.
cd formmongo/server
npm install # Ensure all backend Node.js dependencies are installed
npm run nodemon The main server should now be running (e.g., on http://localhost:5000). Keep this terminal window open.
This server fetches hackathon data using an API. Open a new terminal window and navigate to the ticker server directory.
cd formmongo/server/ticker
# Start the ticker server
python server.pyKeep this terminal window open.
This server handles the chatbot functionality. Open a new terminal window and navigate to the chatbot server directory.
cd formmongo/server/public/dashboardfull
# Start the chatbot server
python main.pyKeep this terminal window open.
This server is for the code editor functionality. Open a new terminal window and navigate to the code editor directory.
cd formmongo/server/public/code editor
npm install body-parser compilex express
# Start the code editor server using nodemon
nodemon Api.jsKeep this terminal window open.
Once the main backend server (step 4) is running, you can access the admin panel:
a. Open your web browser and first go to: http://localhost:5000/make-me-admin
b. Without closing the tab from step (a), open a new tab in the same browser and go to: http://localhost:5000/admin/admin.html
You can open indexpink.html directly in your web browser. Ensure your backend server is running for full functionality.
🔗 GitHub integration for code collaboration
📹 In-platform video calling
🏆 Leaderboards and rewards system
📊 AI-powered team matchmaking
📱 Mobile app development
☁️ Cloud deployment with analytics
📈 Real-time team stats and project insights
📋 Integrated task boards and whiteboards
🏅 Gamification (XP, streaks, badges)
This project is licensed under the MIT License - see the LICENSE file for details.
hackathons fullstack nodejs mongodb socket.io webapp ai-chatbot team-collab hackmate📧 Email: gunkaur0827@gmail.com