How yashu1905-bit/movie-booking-system works
This is a movie-ticket booking platform with a React administrative dashboard and an Express/MongoDB backend. The principal workflow is an administrator or customer request entering the API, passing route and authorization middleware, reaching domain controllers and services, and producing catalog, show, booking, payment, notification, or configuration results backed by MongoDB. Authentication adds OTP email verification and JWT sessions. The sampled files clearly establish authentication, route mounting, notifications, settings, repositories, and dashboard composition; several domain links are represented at directory level because their individual sources were not sampled.
Main entry points: routes Route Modules · repositories Domain Repositories · controllers Domain Controllers · AuthService.js Auth Service
Components 26
Client Applications
- Admin Dashboard
web/src/App.jsx - Web API Client
web/src/services/apiService.js
API Orchestration
- Express API
backend/src/app.js - Route Modules
backend/src/routes - Auth Middleware
backend/src/middleware/auth.js - Auth Controller
backend/src/controllers/authController.js - Domain Controllers
backend/src/controllers - Notification Controller
backend/src/controllers/notificationController.js - Settings Controller
backend/src/controllers/settingController.js - Analytics Routes
backend/src/routes/analytics.js
Domain Services
- Auth Service
backend/src/services/AuthService.js - Catalog Services
backend/src/services - Booking Service
backend/src/services/BookingService.js - Payment Service
backend/src/services/PaymentService.js - Discount Service
backend/src/services/DiscountService.js - Notification Service
backend/src/services/NotificationService.js - Settings Service
backend/src/services - Mail Service
backend/src/services/MailService.js
Persistence Layer
- Domain Repositories
backend/src/repositories - MongoDB
backend/src/config/db.js
External Integrations
- Stripe
- Razorpay
- Email Delivery
- JWT Provider
Other components
- Administrator
- Customer
Connections 33
- Administrator → Admin Dashboard: uses
- Customer → Express API: requests
- Admin Dashboard → Web API Client: invokes
- Web API Client → Express API: calls
- Express API → Route Modules: mounts
- Route Modules → Auth Controller: dispatches
- Route Modules → Domain Controllers: dispatches
- Route Modules → Notification Controller: dispatches
- Route Modules → Settings Controller: dispatches
- Route Modules → Analytics Routes: dispatches
- Route Modules → Auth Middleware: applies
- Auth Middleware → Auth Controller: guards
- Auth Controller → Auth Service: calls
- Domain Controllers → Catalog Services: calls
- Domain Controllers → Booking Service: calls
- Domain Controllers → Payment Service: calls
- Domain Controllers → Discount Service: calls
- Domain Controllers → Notification Service: notifies
- Notification Controller → Notification Service: calls
- Settings Controller → Settings Service: calls
- Auth Service → Domain Repositories: reads/writes
- Catalog Services → Domain Repositories: reads/writes
- Booking Service → Domain Repositories: reads/writes
- Payment Service → Domain Repositories: reads/writes
- Discount Service → Domain Repositories: reads/writes
- Notification Service → Domain Repositories: reads/writes
- Settings Service → Domain Repositories: reads/writes
- Domain Repositories → MongoDB: persists
- Auth Service → Mail Service: sends OTP
- Mail Service → Email Delivery: delivers email
- Auth Service → JWT Provider: signs tokens
- Payment Service → Stripe: charges
- Payment Service → Razorpay: creates orders