How surya-4034/kaam works
Kaam is a multi-portal home-services marketplace: clients discover providers and book work, partners onboard and respond to job requests, and administrators oversee the platform. The backend exposes REST APIs for identity, workers, jobs, dues, administration, maps, and proximity search. The README documents search ranking, request status notifications, and dual MongoDB/SQLite persistence; unsampled implementations are represented only where paths are supported. The graph shows documented HTTP/API and explicitly evidenced internal calls; it does not assume unshown client request wiring.
Main entry points: app.js REST API server · src/App.jsx Partner portal · src/App.jsx Client portal · authController.js Identity and signup
Components 34
Marketplace portals
- Client portal
client-app/src/App.jsx - Client authentication
client-app/src/components/auth/AuthPage.jsx - Booking checkout
client-app/src/components/checkout/CheckoutPage.jsx - Address and slots
client-app/src/components/checkout/AddressAndSlotWorkflow.jsx - Client onboarding
client-app/src/components/onboarding/ClientOnboardingWizard.jsx - Provider service detail
client-app/src/components/profile/WorkerProfileDetail.jsx - Client admin view
client-app/src/components/admin/AdminDashboard.jsx - Partner portal
worker-app/src/App.jsx - Partner authentication
worker-app/src/components/auth/AuthPage.jsx - Partner workspace
worker-app/src/components/landing/WorkerLandingPage.jsx - Partner onboarding
worker-app/src/components/onboarding/WorkerOnboardingWizard.jsx - Service categories
worker-app/src/data/serviceCategories.js - Partner admin view
worker-app/src/components/admin/AdminDashboard.jsx - Master admin portal
admin-app/src/App.jsx
Backend API
- REST API server
server/src/app.js - Identity routes
server/src/routes/authRoutes.js - Identity and signup
server/src/controllers/authController.js - Partner routes
server/src/routes/workerRoutes.js - Partner profiles
server/src/controllers/workerController.js - Job routes
server/src/routes/jobRoutes.js - Job lifecycle
server/src/controllers/jobController.js - Dues routes
server/src/routes/duesRoutes.js - Commission dues
server/src/controllers/duesController.js - Admin routes
server/src/routes/adminRoutes.js - Admin operations
server/src/controllers/adminController.js
Discovery and location
- Address lookup
server/src/routes/mapsRoutes.js - Proximity endpoints
server/src/routes/spatialRoutes.js - Location operations
server/src/services/spatialLocationService.js - Spatial search cache
server/src/services/redisSpatialService.js - Client geolocation
client-app/src/services/locationService.js - Partner location client
worker-app/src/services/partnerLocationService.js
Persistence and messaging
- SQLite fallback
server/src/config/database.js - MongoDB connections
server/src/config/mongoose.js - Partner model
server/src/models/PartnerModel.js
Connections 40
- Client portal → Client authentication: renders
client-app/src/App.jsx - Client portal → Client onboarding: renders
client-app/src/App.jsx - Client portal → Provider service detail: renders
client-app/src/App.jsx - Client portal → Client geolocation: calls
client-app/src/App.jsx - Booking checkout → Address and slots: uses
client-app/src/components/checkout/CheckoutPage.jsx - Partner portal → Partner authentication: renders
worker-app/src/App.jsx - Partner portal → Partner workspace: renders
worker-app/src/App.jsx - Partner portal → Partner onboarding: renders
worker-app/src/App.jsx - Partner portal → Service categories: uses
worker-app/src/App.jsx - Partner onboarding → Service categories: uses
worker-app/src/components/onboarding/WorkerOnboardingWizard.jsx - Partner portal → Partner location client: calls
worker-app/src/App.jsx - Client portal → REST API server: HTTP REST
README.md - Partner portal → REST API server: HTTP REST
README.md - Master admin portal → REST API server: HTTP REST
README.md - REST API server → Identity routes: mounts
server/src/app.js - REST API server → Partner routes: mounts
server/src/app.js - REST API server → Job routes: mounts
server/src/app.js - REST API server → Dues routes: mounts
server/src/app.js - REST API server → Admin routes: mounts
server/src/app.js - REST API server → Address lookup: mounts
server/src/app.js - REST API server → Proximity endpoints: mounts
server/src/app.js - Identity routes → Identity and signup: routes to
server/src/routes/authRoutes.js - Partner routes → Partner profiles: routes to
server/src/routes/workerRoutes.js - Job routes → Job lifecycle: routes to
server/src/routes/jobRoutes.js - Dues routes → Commission dues: routes to
server/src/routes/duesRoutes.js - Admin routes → Admin operations: routes to
server/src/routes/adminRoutes.js - Partner profiles → Location operations: filters distance
server/src/controllers/workerController.js - Partner profiles → Spatial search cache: searches nearby
server/src/controllers/workerController.js - Proximity endpoints → Location operations: calls
server/src/routes/spatialRoutes.js - Location operations → Spatial search cache: uses
server/src/services/spatialLocationService.js - Proximity endpoints → MongoDB connections: queries
server/src/routes/spatialRoutes.js - Proximity endpoints → SQLite fallback: fallback reads
server/src/routes/spatialRoutes.js - Identity and signup → SQLite fallback: writes accounts
server/src/controllers/authController.js - Identity and signup → Partner model: generates partner ID
server/src/controllers/authController.js - Identity and signup → MongoDB connections: checks connection
server/src/controllers/authController.js - Partner model → MongoDB connections: uses connection
server/src/models/PartnerModel.js - SQLite fallback → MongoDB connections: dual-store support
README.md - REST API server → Address lookup: Google Places fallback
server/src/routes/mapsRoutes.js - REST API server → Partner admin view: admin capabilities
README.md - REST API server → Client admin view: admin capabilities
README.md