How narumedsr-p/cu_marketplace works
CU_Marketplace is a campus marketplace scaffold organized as a public API gateway and seven domain services, each documented as owning an isolated Postgres database. The intended request path is client → gateway authentication/proxy → a domain service; gateway-issued JWT claims are forwarded as identity headers for downstream services. The major domain stages include listings, orders, chat, wishlists and matching, reviews, moderation/profiles, and notifications. The web app is described as a starter not yet wired to the API. Service-to-service links below follow the README; sampled source is incomplete and some business logic is explicitly unimplemented.
Main entry points: proxy.module.ts Service proxies · app.module.ts Moderation & profiles · orders.controller.ts Orders & handover · openapi.controller.ts API docs aggregator
Components 20
Client Experience
- Web starter
apps/web/src/App.tsx
API Gateway
- JWT auth
apps/api-gateway/src/auth/auth.service.ts - Gateway guard
apps/api-gateway/src/common/guards/gateway-auth.guard.ts - Service proxies
apps/api-gateway/src/proxy/proxy.module.ts - API docs aggregator
apps/api-gateway/src/openapi/openapi.controller.ts
Marketplace Services
- Listings & categories
apps/catalog-service/src/app.module.ts - Catalog database
- Orders & handover
apps/order-service/src/orders/orders.controller.ts - Order database
- Wishlist & matching
apps/wishlist-service/src/match/auto-match.controller.ts - Wishlist database
Community Services
- Chat rooms
apps/chat-service/src/chat/chat.controller.ts - Chat database
- Seller reviews
apps/review-service/src/reviews/reviews.controller.ts - Review database
Platform Services
- Moderation & profiles
apps/moderation-service/src/app.module.ts - Moderation database
- Notifications & preferences
apps/notification-service/src/notifications/notifications.controller.ts - Notification database
Other components
- Marketplace user
Connections 38
- Marketplace user → Web starter: opens
- Marketplace user → JWT auth: requests token
- JWT auth → Moderation & profiles: checks profile
- Marketplace user → Gateway guard: sends bearer token
- Gateway guard → Service proxies: forwards identity
- Service proxies → Listings & categories: proxies requests
- Service proxies → Orders & handover: proxies requests
- Service proxies → Chat rooms: proxies requests
- Service proxies → Wishlist & matching: proxies requests
- Service proxies → Seller reviews: proxies requests
- Service proxies → Moderation & profiles: proxies requests
- Service proxies → Notifications & preferences: proxies requests
- API docs aggregator → Listings & categories: fetches docs
- API docs aggregator → Orders & handover: fetches docs
- API docs aggregator → Chat rooms: fetches docs
- API docs aggregator → Wishlist & matching: fetches docs
- API docs aggregator → Seller reviews: fetches docs
- API docs aggregator → Moderation & profiles: fetches docs
- API docs aggregator → Notifications & preferences: fetches docs
- Listings & categories → Catalog database: reads/writes
- Orders & handover → Order database: reads/writes
- Wishlist & matching → Wishlist database: reads/writes
- Chat rooms → Chat database: reads/writes
- Seller reviews → Review database: reads/writes
- Moderation & profiles → Moderation database: reads/writes
- Notifications & preferences → Notification database: reads/writes
- Orders & handover → Listings & categories: calls catalog
- Orders & handover → Chat rooms: calls chat
- Orders & handover → Notifications & preferences: calls notifications
- Wishlist & matching → Listings & categories: calls catalog
- Wishlist & matching → Notifications & preferences: calls notifications
- Chat rooms → Notifications & preferences: calls notifications
- Seller reviews → Orders & handover: calls orders
- Seller reviews → Notifications & preferences: calls notifications
- Moderation & profiles → Listings & categories: calls catalog
- Moderation & profiles → Orders & handover: calls orders
- Moderation & profiles → Chat rooms: calls chat
- Moderation & profiles → Notifications & preferences: calls notifications