How rishi07jain/eventora works
Eventora is an event discovery, management, and ticket-booking platform. Visitors browse events; users register and verify by email OTP, then request a booking using another OTP; admins manage events and review bookings, with confirmed bookings updating seat counts and triggering email notifications. The graph follows the documented and sampled client/API flow. Several page and route implementations are unsampled, so their links are shown only where supported by the README or sampled code; no payment processor is evidenced.
Main entry points: App.jsx Application router · axios.js HTTP client · bookingController.js Booking workflow · index.js Express API
Components 26
Web client
- Application router
client/src/App.jsx - Auth context
client/src/context/AuthContext.jsx - HTTP client
client/src/utils/axios.js - Event browsing
client/src/pages/Home.jsx - Event details
client/src/pages/EventDetail.jsx - Login and registration
client/src/pages/Login.jsx - Registration
client/src/pages/Register.jsx - User bookings
client/src/pages/UserDashboard.jsx - Admin operations
client/src/pages/AdminDashboard.jsx - Payment result pages
client/src/pages/PaymentSuccess.jsx
API layer
- Express API
server/index.js - Authentication routes
server/routes/auth.js - Event routes
server/routes/events.js - Booking routes
server/routes/bookings.js - Access control
server/middleware/auth.js
Event and booking domain
- Authentication logic
server/controllers/authController.js - Event management
server/controllers/eventController.js - Booking workflow
server/controllers/bookingController.js
Persistence and email
- User model
server/models/User.js - Event model
server/models/Event.js - Booking model
server/models/Bookings.js - OTP model
server/models/OTP.js - Email delivery
server/utils/email.js
Other components
- Visitor or user
- MongoDB
- Gmail SMTP
Connections 37
- Visitor or user → Application router: uses
- Application router → Event browsing: routes to
- Application router → Event details: routes to
- Application router → Login and registration: routes to
- Application router → Registration: routes to
- Application router → User bookings: routes to
- Application router → Admin operations: routes to
- Application router → Payment result pages: routes to
- Auth context → HTTP client: sends auth requests
- Event browsing → HTTP client: requests events
- Event details → HTTP client: requests booking
- User bookings → HTTP client: requests bookings
- Admin operations → HTTP client: manages events and bookings
- HTTP client → Express API: sends API requests
- Express API → Authentication routes: mounts
- Express API → Event routes: mounts
- Express API → Booking routes: mounts
- Authentication routes → Authentication logic: dispatches
- Event routes → Event management: dispatches
- Booking routes → Booking workflow: dispatches
- Authentication logic → User model: reads and writes
- Authentication logic → OTP model: manages verification codes
- Authentication logic → Email delivery: sends verification code
- Event management → Event model: reads and writes
- Booking workflow → Booking model: creates and updates bookings
- Booking workflow → Event model: checks and updates seats
- Booking workflow → OTP model: verifies booking code
- Booking workflow → Email delivery: sends booking notifications
- Authentication routes → Access control: uses protection
- Event routes → Access control: uses access control
- Booking routes → Access control: uses access control
- Access control → User model: loads user
- User model → MongoDB: persists users
- Event model → MongoDB: persists events
- Booking model → MongoDB: persists bookings
- OTP model → MongoDB: persists codes
- Email delivery → Gmail SMTP: sends mail