How pawandeep-kumar-bca/local-service-provider works
This is a home-services marketplace with customer, provider, and administrator workflows. Customers discover providers, arrange and manage bookings, pay, and review completed work; providers manage services, availability, bookings, and earnings; administrators oversee marketplace operations. The frontend routes role-specific screens to backend APIs, whose controllers coordinate domain models and integrations. The tree and sampled files establish the major subsystems, but most controller and service implementations were not sampled, so uncertain internal call relationships are omitted.
Main entry points: AppRoutes.jsx Role-based screens · review.controller.js Review workflows · provider.controller.js Provider workflows · app.js API application
Components 30
Web application
- Role-based screens
frontend/src/routes/AppRoutes.jsx - Provider workspace
frontend/src/pages/provider - Booking screens
frontend/src/pages/BookingProviders - Customer screens
frontend/src/pages/user - Admin console
frontend/src/pages/admin - Review queries
frontend/src/hooks/useReview.js - Review API client
frontend/src/services/reviewService.js
API and domain
- API application
backend/src/app.js - Provider endpoints
backend/src/routes/provider.routes.js - Review endpoints
backend/src/routes/review.routes.js - Provider workflows
backend/src/controllers/provider.controller.js - Review workflows
backend/src/controllers/review.controller.js - Booking workflows
backend/src/controllers/booking.controller.js - Payment workflows
backend/src/controllers/payment.controller.js
Marketplace data
- Provider records
backend/src/models/provider.model.js - Service categories
backend/src/models/category.model.js - Bookings
backend/src/models/booking.model.js - Reviews
backend/src/models/review.model.js - Payments
backend/src/models/payment.model.js - Provider search pipeline
backend/src/utils/providerPipeline.js
Provider operations
- Schedule management
frontend/src/components/provider/schedule/BookingSchedule.jsx - Earnings workspace
frontend/src/pages/provider/EarningAnalytics/EarningAnalytics.jsx
Realtime messaging
- Chat sockets
backend/src/sockets/chat.socket.js - Notification sockets
backend/src/sockets/notification.socket.js - Chat workflows
backend/src/controllers/chat.controller.js - Notification workflows
backend/src/controllers/notification.controller.js
Other components
- Customer
- Service provider
- Administrator
- ImageKit storage
backend/src/config/imagekit.js
Connections 27
- Customer → Role-based screens: uses
- Service provider → Role-based screens: uses
- Administrator → Role-based screens: uses
- Role-based screens → Customer screens: routes to
- Role-based screens → Booking screens: routes to
- Role-based screens → Provider workspace: routes to
- Role-based screens → Admin console: routes to
- Role-based screens → Schedule management: routes to
- Role-based screens → Earnings workspace: routes to
- Review queries → Review API client: calls
- Review API client → API application: requests
- API application → Provider endpoints: mounts
- API application → Review endpoints: mounts
- Provider endpoints → Provider workflows: dispatches
- Review endpoints → Review workflows: dispatches
- Provider workflows → Provider records: queries
- Provider workflows → Service categories: queries
- Provider workflows → Provider search pipeline: builds search
- Review workflows → Reviews: queries
- Review workflows → Bookings: checks booking
- Review workflows → Provider records: updates rating
- Review workflows → Service categories: updates rating
- Review workflows → ImageKit storage: uploads images
- Booking workflows → Bookings: manages bookings
- Payment workflows → Payments: manages payments
- Chat workflows → Chat sockets: supports chat
- Notification workflows → Notification sockets: supports notifications