Yearly project repository for Team 4 (Batch 2025). This repository contains a full-stack web application for managing student hackathons, projects, mentors, events, exams and developer programs (DevOrbit).
- Overview
- Features
- Tech Stack
- Getting Started
- Project Structure
- Environment Variables
- Development commands
- Contributing
- License
- Contact
A full-stack application that helps manage student hackathons, projects, mentor-student interactions and a developer program called DevOrbit. The backend is Node.js/Express with MongoDB (GridFS for uploads), and the frontend is a React application styled with Tailwind CSS.
- Authentication & Roles — Admin, Mentor, Student (see
backend/middleware/auth.js). - Events & Scheduling — Event creation, schedules and room allocation (
backend/Devstack/Models/schedule.js,backend/Devstack/Models/roomallocation.js). - Exams & Scheduler — Exam model and scheduled jobs (
backend/jobs/examScheduler.js). - Projects & Submissions — Project flow and submission handling (
backend/models/projects.js,backend/models/submissionModel.js). - Teams & Requests — Team formation, join requests and approvals (
backend/Devstack/Models/hackteam.js,backend/Devstack/Models/hackjointeamrequest.js). - Chat & Notifications — In-app chat and hackathon notifications (
backend/models/chat.js,backend/Devstack/Models/HackNotification.js). - File uploads (GridFS) — Image and file uploads with GridFS (
backend/Devstack/Models/gridfs.js,backend/Devstack/middleware/upload.js). - Certificates & Downloads — Generate and download certificates for participants and mentors (
backend/Devstack/Models/HackCertificate.js). - CSV import — Bulk student import via CSV (
backend/routes/studentcsv.js,backend/middleware/processcsv.js).
This application contains a dedicated Hackathon (Devstack) module that handles everything related to organizing and running hackathons.
Key backend models (located in backend/Devstack/Models):
HackathonAdmin.js— admin configuration and management for hackathonshack-reg.js— registration handling for hack participantshackteam.js,hackjointeamrequest.js,hackteamrequest.js— team formation and join flowshacksubmission.js— submission schema and storageHackmentor.js,mentorfeedback.js— mentor profiles and feedbackproblemstatements.js,teamprogress.js— problem statements and team progress trackingHackvideo.js,Hackvideofolder.js,HackGalleryImage.js,HackGalleryFolder.js,Hackfolder.js— media and gallery managementschedule.js,roomallocation.js— scheduling and room allocationHackCertificate.js— certificate generation for participants/mentorsHackNotification.js— hackathon-specific notifications
Frontend (Devstack hackathon UI lives under frontend/src/Devstack):
- Student and Mentor dashboards:
frontend/src/Devstack/Student/*,frontend/src/Devstack/Mentor/* - Certificates, Hackathons listing, Profiles, Resource pages and Gallery components
- Socket/events: real-time notifications for hackathon events and updates
Use-cases covered by Hackathon components:
- Register participants, form teams, submit projects, run room allocations and schedule events
- Mentor assignment, mentor feedback and certificates
- Display galleries, winners and publish hackathon results
DevOrbit is the developer program / curriculum side of the app. It provides curriculum pages, program overviews, and user-facing content to guide learners.
Key frontend files:
frontend/src/hero/curriculumData/data.js— core curriculum content used by 'DevOrbit' pagesfrontend/src/hero/*— pages like About, Curriculum, Contact, FAQs, and Project showcase- App title and routing are configured for DevOrbit entry points (
frontend/public/index.html, links within user header that switch views to DevOrbit)
DevOrbit features:
- Curriculum content and learning modules
- Program overview and mentor introductions
- Integrated navigation between main app and DevOrbit pages
- Backend: Node.js, Express, Mongoose
- Database: MongoDB (GridFS for file storage)
- Frontend: React, Tailwind CSS
- Scheduler: node-cron / custom scheduler jobs
- Node.js (v16+ recommended)
- npm or yarn
- MongoDB (local or hosted)
- Clone the repository
git clone <repo-url> cd 2025YearlyProject-Team4
- Backend
cd backend npm install # create .env with required variables (see below) npm run dev # or npm start for production
- Frontend
cd frontend npm install npm run dev
Create a .env in backend/ with entries similar to:
MONGO_URI— MongoDB connection stringPORT— backend port (e.g., 5000)JWT_SECRET— secret for auth tokens
- Backend:
cd backend && npm run dev - Frontend:
cd frontend && npm run dev
backend/— API, models, routes, middleware, jobs and schedulerDevstack/— Hackathon-focused models and GridFS helpersroutes/— API endpoints grouped by domain (events, exams, teams, chat...)models/— general Mongoose models used by the app
frontend/— React app with pages, components and Tailwind configfrontend/src/Devstack/— Hackathon UI (mentor/student dashboards, resources, certificates)frontend/src/hero/— DevOrbit curriculum and public pages
- Fork → Create a branch → Make changes → Open a Pull Request
- Follow existing code style and add tests for new functionality where appropriate.
This project does not currently include a license file. Add LICENSE (MIT recommended) if desired.
Team 4 — Batch 2025 For questions or help, open an issue or contact the repository maintainers.
If you like, I can also:
- add badges (build, coverage, license) ✅
- add screenshots/GIFs or a
CONTRIBUTING.mdfile ✨ - add example
.envand aLICENSEfile 🔧
Tell me which additions you'd like and any wording changes for the Hackathon or DevOrbit sections.