How nanikandikonda/smart-saloon works
SmartSalon is a salon booking and operations product: customers browse services and book appointments, while authenticated staff use customer, appointment, payment, reporting, and branch-management views. The React application routes users to these experiences and calls the FastAPI backend; backend endpoints operate on salon records and can dispatch notifications or payments. A chatbot has both grounded salon-information retrieval and controlled, role-checked CRM lookup capabilities. The README gives no further detail, and several backend/frontend modules were not sampled, so uncertain internal connections are omitted.
Main entry points: App.jsx App Routing · api.js API Client · main.py HTTP API · intent_router.py Intent Router
Components 24
Customer Web
- App Routing
src/App.jsx - Sign-in UI
src/components/AuthModal.jsx - Auth State
src/context/AuthContext.jsx - Service Catalog
src/pages/Services.jsx - Appointment Booking
src/pages/Booking.jsx - Customer Portal
src/pages/customer/CustomerDashboard.jsx - API Client
src/services/api.js - Chat Widget
src/components/Chatbot.jsx
Salon Operations
- CRM Console
src/pages/crm - Branch Management
src/pages/manager/ManagerBranchManagement.jsx - Staff Dashboard
src/pages/staff/StaffDashboard.jsx
Backend API
- HTTP API
backend/main.py - Identity & Roles
backend/auth.py - Salon Records
backend/models.py - Payment Handling
backend/payments.py - Notifications
backend/notifications.py
Salon Assistant
- Intent Router
backend/intent_router.py - Knowledge Retrieval
backend/rag_service.py - Authorized CRM Queries
backend/crm_query_service.py - Local Language Model
backend/ollama_service.py - Knowledge Index
backend/rag_service.py
Other components
- Customer
- Salon Operator
- Notification Provider
Connections 29
- Customer → App Routing: opens
- Salon Operator → App Routing: opens
- App Routing → Service Catalog: routes to
- App Routing → Appointment Booking: routes to
- App Routing → Sign-in UI: opens
- App Routing → Customer Portal: routes to
- App Routing → CRM Console: routes to
- App Routing → Branch Management: routes to
- App Routing → Staff Dashboard: routes to
- Sign-in UI → Auth State: calls
- Service Catalog → API Client: loads services
- Branch Management → API Client: manages branches
- Appointment Booking → API Client: submits booking
- Customer Portal → API Client: loads account
- CRM Console → API Client: requests CRM data
- API Client → HTTP API: HTTP requests
- HTTP API → Identity & Roles: checks access
- HTTP API → Salon Records: reads and writes
- HTTP API → Payment Handling: handles payment
- HTTP API → Notifications: dispatches notices
- Notifications → Notification Provider: may dispatch
- Customer → Chat Widget: asks questions
- Chat Widget → API Client: sends chat
- HTTP API → Intent Router: routes chat intent
- Intent Router → Knowledge Retrieval: requests knowledge
- Intent Router → Authorized CRM Queries: requests CRM data
- Knowledge Retrieval → Knowledge Index: searches index
- Knowledge Retrieval → Local Language Model: grounds response
- Authorized CRM Queries → Salon Records: queries records