How kanaad-aqeeq/hubcare-node works
Hubcare is a home-services marketplace with an administrative web console. The principal customer workflow represented here is service selection, booking and payment, provider fulfillment, then review; the repository also includes messaging, wallet, promotions, support, and operational/financial reporting. The admin console exposes management and reporting screens backed by admin APIs. Some backend controllers and frontend data-fetching modules are unsampled, so the graph preserves documented capabilities but omits uncertain links between them.
Main entry points: models Domain models · booking_service.controller.js Bookings · index.js HTTP and socket entry · chat.controller.js Messaging
Components 22
Admin console
- Admin pages
frontend/src/App.jsx - Admin state
frontend/src/Redux-store/Store.js - API client
frontend/src/utils/Api.js
Marketplace operations
- Service catalog
backend/controllers/category.controller.js - Bookings
backend/controllers/booking_service.controller.js - Worker fulfillment
backend/controllers/worker.controller.js - Wallet and payments
backend/controllers/wallet.controller.js
Engagement and support
- Promos and notifications
backend/controllers/promo_offer.controller.js - Messaging
backend/controllers/chat/chat.controller.js - Reviews
backend/controllers/reviewRating.controller.js - Support and policy
backend/controllers/help_support.controller.js
Backend API
- Admin reports
backend/controllers/admin.controller.js - HTTP and socket entry
backend/index.js - Booking routes
backend/routes/booking_service.routes.js - Admin routes
backend/routes/admin.routes.js - Review routes
backend/routes/reviewRating.routes.js - Socket service
backend/utils/socket.js
Persistence
- Booking records
backend/models/booking_service.model.js - SQL database
backend/database/db.js - Domain models
backend/models
Other components
- Admin
- Customer
Connections 25
- Admin → Admin pages: uses
- Admin pages → Admin state: dispatches
- Admin state → API client: requests
- API client → HTTP and socket entry: sends HTTP
- Customer → HTTP and socket entry: calls API
- HTTP and socket entry → Booking routes: mounts
- HTTP and socket entry → Admin routes: mounts
- HTTP and socket entry → Review routes: mounts
- Booking routes → Bookings: dispatches
- Admin routes → Admin reports: dispatches
- Review routes → Reviews: dispatches
- Bookings → Booking records: reads/writes
- Bookings → Wallet and payments: uses wallet
- Bookings → Worker fulfillment: assigns workers
- Bookings → Promos and notifications: checks offers
- Bookings → Messaging: sends updates
- Reviews → Domain models: reads/writes
- Admin reports → Domain models: queries
- Service catalog → Domain models: reads/writes
- Wallet and payments → Domain models: reads/writes
- Promos and notifications → Domain models: reads/writes
- Messaging → Domain models: reads/writes
- Messaging → Socket service: emits messages
- Booking records → SQL database: persists
- Domain models → SQL database: queries