How devlup-labs/hacksprint works
HackSprint is a distributed hackathon platform: students discover events, register and build teams, submit projects or compete in on-spot matches, and view results; organizers configure events and judge submissions. The graph preserves the documented service boundaries and major product branches. README descriptions support several service and integration relationships; sampled source specifically confirms submission-review orchestration and notification dispatch, but does not expose every service’s internal wiring.
Main entry points: index.js API gateway · hackathon.routes.js Hackathon endpoints · submissionReview.service.js Submission judging · notification.service.js Notifications
Components 22
Web experience
- React application
frontend/hack-sprint/src/App.jsx - API gateway
backend/api-gateway/src/index.js
Identity
- Auth endpoints
backend/auth-service/src/routes/auth.routes.js - Auth and profiles
backend/auth-service/src/services/auth.service.js
Hackathon events
- Hackathon endpoints
backend/hackathon-service/src/routes/hackathon.routes.js - Event lifecycle
backend/hackathon-service/src/services/hackathonService/hackathon.service.js - Registration and teams
backend/hackathon-service/src/services/registrationService/registration.service.js - Project submissions
backend/hackathon-service/src/services/submissionService/submission.service.js - Submission judging
backend/hackathon-service/src/services/submissionReviewService/submissionReview.service.js - On-spot matches
backend/hackathon-service/src/services/matchService/match.service.js - Results and standings
backend/hackathon-service/src/services/resultService/result.service.js
Platform capabilities
- Media uploads
backend/media-service/src/services/uploadService/upload.service.js - FAQ chatbot
backend/chatbot-service/src/services/gemini.service.js - Notifications
backend/notification-service/src/services/notification.service.js - Notification endpoints
backend/notification-service/src/routes/notification.routes.js - Email and push queues
backend/notification-service/src/queues/email.queue.js
Service infrastructure
- MongoDB
- Redis
- Amazon S3
Other components
- Students and organizers
- Gemini API
- Email and browser push
Connections 30
- Students and organizers → React application: uses
- React application → API gateway: API requests
- API gateway → Auth endpoints: proxies auth
- API gateway → Hackathon endpoints: proxies events
- API gateway → Notification endpoints: proxies notifications
- API gateway → Media uploads: proxies media
- API gateway → FAQ chatbot: proxies chatbot
- Auth endpoints → Auth and profiles: dispatches
- Auth and profiles → MongoDB: reads and writes
- Auth and profiles → Email and push queues: queues email
- Hackathon endpoints → Event lifecycle: dispatches
- Hackathon endpoints → Registration and teams: dispatches
- Hackathon endpoints → Project submissions: dispatches
- Hackathon endpoints → On-spot matches: dispatches
- Hackathon endpoints → Results and standings: dispatches
- Submission judging → MongoDB: reads and writes
- Submission judging → Results and standings: updates scores
- Submission judging → Notifications: dispatches alerts
- Submission judging → Redis: invalidates cache
- Event lifecycle → MongoDB: reads and writes
- Registration and teams → MongoDB: reads and writes
- Project submissions → MongoDB: reads and writes
- On-spot matches → MongoDB: reads and writes
- Results and standings → MongoDB: reads and writes
- Media uploads → Amazon S3: stores files
- FAQ chatbot → Gemini API: queries
- Notification endpoints → Notifications: dispatches
- Notifications → MongoDB: stores notifications
- Notifications → Email and push queues: queues delivery
- Email and push queues → Email and browser push: delivers asynchronously