A modern platform designed to help developers find teammates for hackathons, create teams, and manage join requests efficiently.
- User Authentication: Secure registration and login.
- Profile Management: Showcase skills, achievements, and professional details.
- Hackathon Management: Explore and organize hackathons.
- Team Management: Form teams, manage members, and handle real-time requests.
- Team Finder: Smart matching for teammates based on skills.
- Frontend: React 19, Vite, Tailwind CSS v4, React Router v7
- Backend: Node.js, Express.js
- Database: Supabase (PostgreSQL)
- Authentication: JWT & Bcrypt
- Node.js (v14 or higher)
- npm or yarn
- Supabase Account
-
Clone the repository:
git clone <repository-url> cd Hackathon_Project
-
Install dependencies:
npm run install-all
This command installs dependencies for both the server and the client.
Create a .env file in the root directory and add the following:
PORT=5000
SECRET_KEY=your_super_secret_key
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_keyTo run both the backend server and the frontend client concurrently:
npm run dev- Server: Runs on
http://localhost:5000 - Client: Runs on
http://localhost:5173(default Vite port)
POST /api/auth/register- Register a new userPOST /api/auth/login- Login userPUT /api/auth/profile- Update user profileGET /api/auth/me- Get current user details
GET /api/hackathons- List all hackathonsPOST /api/hackathons- Create a new hackathonGET /api/hackathons/:id- Get hackathon detailsDELETE /api/hackathons/:id- Delete a hackathon
GET /api/hackathons/:id/teams- Get teams for a hackathonPOST /api/hackathons/:id/teams- Create a teamPOST /api/teams/:id/join- Request to join a teamGET /api/teams/:id/requests- Get join requests for a teamPUT /api/teams/:id/requests/:requestId- Approve/Reject a requestPUT /api/teams/:id- Update team detailsDELETE /api/teams/:id- Delete a team