How manue1gomez/brbstudio works
BRB Studios is a studio booking and administration web app. Customers browse services and availability, register or log in, and use the site to pursue bookings; staff manage bookings, calendar blocks, services, payments, and dashboard views. The server mounts API routes that dispatch to controllers and domain services, which apply booking/payment rules and use models backed by MySQL. The source index supports several service-to-model links; unsampled modules and absent README mean some frontend-to-API and domain links cannot be verified, so they are omitted.
Main entry points: app.js Express app · paymentService.js Payment operations · bookingManagementService.js Booking management · bookingManagementModel.js Booking model
Components 34
Customer site
- Customer pages
frontend/customer/js/home.js - Availability calendar
frontend/customer/js/home-calendar.js - Customer API client
frontend/customer/js/api.js - Customer session
frontend/customer/js/session.js
Admin workspace
- Booking console
frontend/admin/js/booking.js
HTTP API
- Express app
app.js - Authentication routes
backend/routes/authRoutes.js - Service routes
backend/routes/serviceRoutes.js - Admin service routes
backend/routes/adminServiceRoutes.js - Calendar routes
backend/routes/calendarRoutes.js - Admin calendar routes
backend/routes/adminCalendarRoutes.js - Dashboard routes
backend/routes/dashboardRoutes.js - Admin payment routes
backend/routes/adminPaymentRoutes.js - Admin booking routes
backend/routes/adminBookingRoutes.js
Booking operations
- Authentication handler
backend/controllers/authController.js - Calendar handler
backend/controllers/calendarController.js - Payment handler
backend/controllers/paymentController.js - Service handler
backend/controllers/serviceController.js - Dashboard handler
backend/controllers/dashboardController.js - Account operations
backend/services/authService.js - Booking management
backend/services/bookingManagementService.js - Calendar operations
backend/services/calendarService.js - Payment operations
backend/services/paymentService.js - Service management
backend/services/serviceManagementService.js - Dashboard metrics
backend/services/dashboardService.js - Booking and payment rules
backend/config/bookingRules.js
Persistence and integrations
- Customer model
backend/models/customerModel.js - Booking model
backend/models/bookingManagementModel.js - Blocked date model
backend/models/blockedDateModel.js - Payment model
backend/models/paymentModel.js - Receipt email service
backend/services/receiptEmailService.js - Service model
backend/models/serviceModel.js
Other components
- Customer
- Studio staff
Connections 35
- Customer → Customer pages: uses
- Studio staff → Booking console: uses
- Customer pages → Availability calendar: renders
- Availability calendar → Customer API client: calls
frontend/customer/js/home-calendar.js - Customer session → Customer API client: calls
frontend/customer/js/session.js - Express app → Authentication routes: mounts
app.js - Express app → Service routes: mounts
app.js - Express app → Admin service routes: mounts
app.js - Express app → Calendar routes: mounts
app.js - Express app → Admin calendar routes: mounts
app.js - Express app → Dashboard routes: mounts
app.js - Express app → Admin payment routes: mounts
app.js - Express app → Admin booking routes: mounts
app.js - Authentication routes → Authentication handler: dispatches
backend/routes/authRoutes.js - Admin calendar routes → Calendar handler: dispatches
backend/routes/adminCalendarRoutes.js - Admin payment routes → Payment handler: dispatches
backend/routes/adminPaymentRoutes.js - Admin service routes → Service handler: dispatches
backend/routes/adminServiceRoutes.js - Dashboard routes → Dashboard handler: dispatches
backend/routes/dashboardRoutes.js - Authentication handler → Account operations: calls
backend/controllers/authController.js - Calendar handler → Calendar operations: calls
backend/controllers/calendarController.js - Payment handler → Payment operations: calls
backend/controllers/paymentController.js - Service handler → Service management: calls
backend/controllers/serviceController.js - Dashboard handler → Dashboard metrics: calls
backend/controllers/dashboardController.js - Account operations → Customer model: reads/writes
backend/services/authService.js - Booking management → Booking model: queries
backend/services/bookingManagementService.js - Booking management → Blocked date model: checks dates
backend/services/bookingManagementService.js - Booking management → Payment model: reads payments
backend/services/bookingManagementService.js - Payment operations → Payment model: records payments
backend/services/paymentService.js - Payment operations → Booking model: updates bookings
backend/services/paymentService.js - Payment operations → Receipt email service: sends receipts
backend/services/paymentService.js - Service management → Service model: manages services
- Calendar operations → Blocked date model: manages blocks
- Dashboard metrics → Booking model: summarizes
- Booking management → Booking and payment rules: uses rules
backend/services/bookingManagementService.js - Payment operations → Booking and payment rules: uses rules
backend/services/paymentService.js