How mugoedwin/salon works
This repository contains salon websites and administration screens alongside two backend implementations: a Django salon catalog/contact platform and a Node booking, payment, and notification API. The main user journey is browsing services and submitting a booking; staff manage services and bookings, while payment and messaging are separate operational capabilities. Source excerpts are limited, so some subsystem connections are not shown where the caller or data flow could not be verified.
Main entry points: src/routes.jsx Web app routes · app.js API application · ManageServices.jsx Admin management · src/routes.jsx Lux salon routes
Components 32
Client experience
- Web app routes
src/routes.jsx - Service browsing
src/pages/Services.jsx - Booking page
src/pages/Booking.jsx - Accounts and history
src/pages/Dashboard/UserDashboard.jsx - Admin management
src/admin/ManageServices.jsx - Service catalog API
src/services/serviceCatalog.js - Booking client service
src/services/bookingService.js - Media uploads
src/services/cloudinaryMedia.js - Lux salon routes
luxsalon/frontend/src/routes.jsx - Lux booking page
luxsalon/frontend/src/pages/Booking.jsx - Service listing
luxsalon/frontend/src/components/services/ClientServiceList.jsx - Salon services API client
luxsalon/frontend/src/services/salonServicesApi.js
Salon platform
- Django API routes
luxsalon/salon/api_urls.py - Salon API handlers
luxsalon/salon/views_api.py - Salon data models
luxsalon/salon/models.py - Contact handlers
luxsalon/contact/views.py
Booking API
- API application
backend/src/app.js - Booking routes
backend/src/routes/booking.routes.js - Booking controller
backend/src/controllers/booking.controller.js - Booking service
backend/src/services/booking.service.js - Appointments
backend/src/models/Appointment.js - Payment routes
backend/src/routes/payment.routes.js - Payment controller
backend/src/controllers/mpesa.controller.js - M-Pesa service
backend/src/services/mpesa.service.js - Webhook routes
backend/src/routes/webhook.routes.js - Twilio webhook handler
backend/src/controllers/twilioWebhook.controller.js - Notifications
backend/src/services/notification.service.js - WhatsApp delivery
backend/src/services/whatsapp.service.js
External services
- Firebase
src/firebase.js - M-Pesa
- Twilio
Other components
- Client or staff
Connections 30
- Client or staff → Web app routes: opens pages
- Web app routes → Service browsing: routes to
- Web app routes → Booking page: routes to
- Web app routes → Accounts and history: routes to
- Web app routes → Admin management: routes to
- Service browsing → Service catalog API: loads catalog
- Booking page → Booking client service: submits booking
- Admin management → Service catalog API: manages catalog
- Service catalog API → Firebase: reads and writes
- Admin management → Media uploads: uploads images
- Client or staff → Lux salon routes: opens pages
- Lux salon routes → Lux booking page: routes to
- Lux salon routes → Service listing: routes to
- Service listing → Salon services API client: loads services
- Salon services API client → Django API routes: requests services
- Django API routes → Salon API handlers: dispatches to
- Salon API handlers → Salon data models: accesses data
- Django API routes → Contact handlers: dispatches to
- API application → Booking routes: mounts routes
- API application → Payment routes: mounts routes
- API application → Webhook routes: mounts routes
- Booking routes → Booking controller: dispatches to
- Booking controller → Booking service: creates booking
- Booking service → Appointments: stores appointment
- Payment routes → Payment controller: dispatches to
- Payment controller → M-Pesa service: initiates payment
- M-Pesa service → M-Pesa: requests payment
- Webhook routes → Twilio webhook handler: dispatches to
- Notifications → WhatsApp delivery: sends notification
- WhatsApp delivery → Twilio: sends message