How saikz72/appointment-scheduling works
Appointment-Scheduling is a web application for automotive-service businesses: customers and staff use the frontend to manage accounts, vehicles, service offerings, appointments, and related orders; admins and technicians have role-specific dashboards. The backend exposes API routes and connects to MongoDB. A separate mobile directory contains a generic Expo navigation shell, not a demonstrated appointment workflow. Several domain modules are represented by their exact enclosing directories because their source was not sampled; links to those modules are limited to documented or directly evidenced wiring.
Main entry points: models Domain models · App.tsx Web app · index.ts Express API · services Domain API clients
Components 23
Web client
- Web app
frontend/src/App.tsx - Appointment booking
frontend/src/pages/BookAppointmentPage.tsx - Role dashboards
frontend/src/pages - Account services
frontend/src/services/AuthService.ts - Domain API clients
frontend/src/services - Client state
frontend/src/utility/DataProvider.tsx
Backend API
- Express API
backend/src/index.ts - API routes
backend/src/routes - Account controller
backend/src/controllers/authController.ts - Appointment controller
backend/src/controllers/AppointmentController.ts - Orders controller
backend/src/controllers/OrderController.ts - Service controller
backend/src/controllers/ServiceController.ts
Service domains
- Account service
backend/src/services/authService.ts - Appointment operations
backend/src/services/AppointmentService.ts - Orders and products
backend/src/services/OrderService.ts - Business and offerings
backend/src/services - Automobile operations
backend/src/services/AutomobileServices.ts - Domain models
backend/src/models
Mobile shell
- Expo app shell
mobile/App.tsx - Mobile navigation
mobile/navigation/index.tsx - Placeholder screens
mobile/screens
Other components
- Customer / staff
- MongoDB
Connections 20
- Customer / staff → Web app: uses
- Web app → Appointment booking: routes to
- Web app → Role dashboards: routes to
- Appointment booking → Domain API clients: uses API clients
- Role dashboards → Domain API clients: uses API clients
- Domain API clients → Express API: sends requests
- Express API → API routes: dispatches
- Express API → MongoDB: connects
- API routes → Service controller: dispatches
- Account controller → Account service: calls
- Appointment controller → Appointment operations: calls
- Orders controller → Orders and products: calls
- Service controller → Business and offerings: calls
- Account service → Domain models: reads and writes
- Appointment operations → Domain models: uses records
- Orders and products → Domain models: uses records
- Business and offerings → Domain models: uses records
- Automobile operations → Domain models: uses records
- Expo app shell → Mobile navigation: renders
- Mobile navigation → Placeholder screens: navigates to