HackSprint is a centralized ecosystem created to nurture innovation, collaborative work, and hands-on development across IIT Jodhpur. It enables hackathons, daily developer & aptitude challenges, Git-based submissions, and a transparent leaderboard system β all designed to build real-world developer habits.
The platform has two main user roles:
- Students β can participate in hackathons, daily quizzes, and track their leaderboard points.
- Admins β can create hackathon events (subject to approval by hackSprint admin), assign points, review submissions, and declare results.
Enabling students to shift from passive learning to active development, while allowing administrators to manage events effectively.
HackSprint provides:
- π Real project-building experience
- π§ Daily dev & aptitude challenges
- π Hackathons with submission tracking
- π Transparent leaderboard system
- π Peer-reviewed submissions
- π» Admin controls: approval, points assignment, result declaration
- π Tailored for IITJ culture
- π Builds consistency in coding and event participation
- π Transparent & community-driven
- π Real-world industry-style development style
- π Helps build portfolio + placement-ready skillset
- π₯ Admin-friendly: manage events, review submissions, assign points
- Students can participate in hackathons
- Submission via GitHub + Deployment URL
- Admins can create hackathons (requires platform admin approval to go live)
- Admins can see all submissions, URLs, and participant details
- Points can be assigned to each team/participant
- Results can be declared by admins
- Students solve MCQs on software dev, logic, and aptitude
- Instant feedback and scoring
- Rankings based on hackathons + daily challenges + points
- Tracks student performance and consistency
- Public leaderboard visible to all users
- Google OAuth
- GitHub OAuth
- Create hackathons and events
- Approve/reject events for publishing(Only HackSprint Platform Admin)
- View all submissions per event
- Assign points to participants or teams
- Declare final results
| Layer | Technology |
|---|---|
| Frontend | React + Vite |
| Backend | Node.js + Express |
| Database | MongoDB + Redis |
| Automation | Kestra |
| OAuth | Google, GitHub |
| Deployment | Vercel |
HackSprint
βββ LICENSE
βββ backend
β βββ index.js
β βββ allFolders
β βββ package.json
β βββ ...
βββ frontend
βββ hack-sprint
βββ public
βββ src
βββ package.json
βββ ...
VITE_API_BASE_URL="http://localhost:3000"
VITE_GOOGLE_CLIENT_ID="your_google_client_id_here"
VITE_GITHUB_CLIENT_ID="your_github_client_id_here"MONGO_URL="your_mongodb_connection_url"
GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_CLIENT_SECRET="your_google_client_secret"
GITHUB_CLIENT_ID="your_github_client_id"
GITHUB_CLIENT_SECRET="your_github_client_secret"
SECRET_KEY="your_jwt_secret_key"
JWT_EXPIRE_TIME="24h"
SMTP_USER="your_smtp_username"
SMTP_PASS="your_smtp_password"
SENDER_EMAIL="your_sender_email_address"
CLOUDINARY_CLOUD_NAME="your_cloud_name"
CLOUDINARY_API_KEY="your_cloudinary_api_key"
CLOUDINARY_API_SECRET="your_cloudinary_api_secret"
EMAIL="your_email"
EMAIL_PASS="your_email_password"
FRONTEND_URL="http://localhost:5173"
PORT=3000git clone https://github.com/devlup-labs/HackSprint.git
cd HackSprintcd backend
npm install
nodemon index.jscd frontend/hack-sprint
npm install
npm run dev- Backend Pull the backend image and run it:
docker pull rahul1901/hacksprintserver:latest
docker run -p 3000:3000 rahul1901/hacksprintserver:latestAccess the backend at: http://localhost:3000
- Frontend Pull the frontend image and run it:
docker pull rahul1901/hacksprint:latest
docker run -p 5173:80 rahul1901/hacksprint:latestAccess the frontend at: http://localhost:5173
| Purpose | Command |
|---|---|
| Run backend | nodemon index.js |
| Run frontend | npm run dev |
- Fork the repository
- Clone your fork
- Create a branch
git checkout -b feature/my-feature- Commit changes
git commit -m "Added new feature"- Push branch
git push origin feature/my-featureflowchart TD
subgraph STUDENT
A[π€ Student Login] --> B[π Dashboard]
B --> C[π Participate in Hackathons]
B --> D[π§ Daily Quizzes & Challenges]
B --> E[π View Leaderboard]
C --> F[π Submit GitHub + Deployment URLs]
end
subgraph ADMIN
X[π€ Admin Login] --> Y[π Create Hackathons / Events]
Y --> Z[β
Platform Admin Approval]
Z --> B
F --> M[π Admin Views Submissions]
M --> N[π― Assign Points]
N --> E
N --> O[π’ Declare Results]
end
