How aakarsh15/college-event-management-system works
CEMS is a role-based college event management web application. Users enter through the Express app to browse approved events, create events, register as participants, and access role-specific management; administrators approve events and assign faculty, while faculty can notify participants. Registration also includes email OTP verification, and a contact form sends email. The sampled code shows several routes and controller behaviors, but app.js is only partially excerpted, so some feature relationships are represented from README documentation rather than verified implementation details.
Main entry points: app.js Express application · otpController.js OTP verification · adminControllers.js Approval and assignment · views Role dashboards
Components 15
Web entry and interface
- Express application
app.js - Event and account pages
templates - Role dashboards
views
Event operations
- Admin routes
routes/admin.js - Approval and assignment
Controllers/adminControllers.js - Event and registration handling
app.js
Identity and messaging
- Signup route
routes/auth.js - Signup page handler
Controllers/authController.js - OTP routes
routes/otp.js - OTP verification
Controllers/otpController.js - Contact email route
routes/emailRoutes.js - Contact email handler
Controllers/emailController.js - Gmail transport
config/mailer.js
Persistence
Other components
- Students, faculty, organizers, admins
Connections 19
- Students, faculty, organizers, admins → Express application: uses
README.md - Express application → Event and account pages: serves pages
app.js - Express application → Role dashboards: renders views
app.js - Express application → Admin routes: mounts routes
app.js - Admin routes → Approval and assignment: dispatches to
routes/admin.js - Approval and assignment → MySQL event and user data: queries
Controllers/adminControllers.js - Approval and assignment → Role dashboards: renders admin
Controllers/adminControllers.js - Express application → Event and registration handling: handles requests
app.js - Event and registration handling → MySQL event and user data: reads and writes
app.js - Express application → Signup route: mounts routes
app.js - Signup route → Signup page handler: dispatches to
routes/auth.js - Express application → OTP routes: mounts routes
app.js - OTP routes → OTP verification: dispatches to
routes/otp.js - OTP verification → MySQL event and user data: checks email
Controllers/otpController.js - OTP verification → Gmail transport: sends OTP
Controllers/otpController.js - OTP verification → Role dashboards: renders verification
Controllers/otpController.js - Express application → Contact email route: mounts routes
app.js - Contact email route → Contact email handler: dispatches to
routes/emailRoutes.js - Contact email handler → Gmail transport: sends contact mail
Controllers/emailController.js