How bvbl1/masterhub works
MasterHub is a home-services marketplace: customers browse providers and services, then create orders or job requests, communicate with providers, pay, and leave reviews. The Next.js frontend reaches Go microservices through the REST gateway; chat also has a WebSocket path, and AI chat uses a frontend proxy. The graph preserves documented marketplace capabilities and sampled service wiring. README describes shared PostgreSQL schemas; unsampled service internals and gateway registrations limit confidence in some detailed links.
Main entry points: main.go REST gateway · api/api.go Orders and disputes · api/api.go Notifications · api/api.go Identity and profiles
Components 21
Customer experience
- Next.js marketplace
frontend/app
Marketplace services
- Identity and profiles
backend/user/internal/application/core/api/api.go - Service listings
backend/service/internal/application/core/api/api.go - Categories
backend/category/internal/application/core/api/api.go - Locations
backend/location/internal/application/core/api/api.go - Job requests
backend/job-request/internal/application/core/api/api.go
Orders and payments
- Orders and disputes
backend/order/internal/application/core/api/api.go - Payment processing
backend/payment/internal/application/core/api/api.go
Communication
- Reviews and ratings
backend/review/internal/application/core/api/api.go - Real-time chat
backend/chat/internal/application/core/api/api.go - Notifications
backend/notification/internal/application/core/api/api.go - Telegram bot
backend/telegram/internal/adapters/bot/bot.go - Email delivery
API and integrations
- REST gateway
backend/gateway/cmd/main.go - Media uploads
backend/media/internal/application/core/api/api.go - AI assistant
backend/ai/internal/application/core/api/api.go - PostgreSQL
- Stripe
- S3 storage
- OpenRouter
Other components
- Customer or provider
Connections 44
- Customer or provider → Next.js marketplace: uses
- Next.js marketplace → REST gateway: REST requests
- REST gateway → Identity and profiles: gRPC proxy
- REST gateway → Service listings: gRPC proxy
- REST gateway → Categories: gRPC proxy
- REST gateway → Locations: gRPC proxy
- REST gateway → Real-time chat: gRPC proxy
- REST gateway → Notifications: gRPC proxy
- REST gateway → Orders and disputes: gRPC proxy
- REST gateway → Payment processing: gRPC proxy
- REST gateway → Reviews and ratings: gRPC proxy
- REST gateway → Media uploads: gRPC proxy
- REST gateway → Job requests: gRPC proxy
- Next.js marketplace → Real-time chat: WebSocket chat
- Next.js marketplace → AI assistant: AI proxy
- Service listings → Categories: calls adapter
- Service listings → Identity and profiles: calls adapter
- Orders and disputes → Identity and profiles: calls adapter
- Orders and disputes → Service listings: calls adapter
- Orders and disputes → Locations: calls adapter
- Orders and disputes → Notifications: calls adapter
- Orders and disputes → Payment processing: calls adapter
- Job requests → Identity and profiles: calls adapter
- Job requests → Orders and disputes: calls adapter
- Job requests → Notifications: calls adapter
- Reviews and ratings → Identity and profiles: calls adapter
- Reviews and ratings → Orders and disputes: calls adapter
- Reviews and ratings → Notifications: calls adapter
- Payment processing → Orders and disputes: calls adapter
- Identity and profiles → PostgreSQL: reads and writes
- Service listings → PostgreSQL: reads and writes
- Categories → PostgreSQL: reads and writes
- Locations → PostgreSQL: reads and writes
- Job requests → PostgreSQL: reads and writes
- Orders and disputes → PostgreSQL: reads and writes
- Payment processing → PostgreSQL: reads and writes
- Reviews and ratings → PostgreSQL: reads and writes
- Real-time chat → PostgreSQL: reads and writes
- Notifications → PostgreSQL: reads and writes
- Payment processing → Stripe: processes payments
- Media uploads → S3 storage: stores media
- AI assistant → OpenRouter: requests AI
- Notifications → Email delivery: sends email
- Telegram bot → AI assistant: AI adapter