How dhminh227/online_shopping works
Marketplace supports buyer shopping and seller operations: users authenticate, sellers apply and manage shops, listings are authored and reviewed, buyers build carts and check out, then orders are managed and fulfilled. The graph follows the documented module boundaries and the sampled route/composition wiring. Checkout, order, and worker internals were not sampled, so their detailed call relationships are omitted; the outbox and payment integration are included only at the documented capability level.
Main entry points: app.go App composition · app Marketplace UI · outbox Transactional outbox · api.ts API client
Components 23
Web storefront
- Marketplace UI
web/src/app - API client
web/src/lib/api.ts
Identity and sellers
- Authentication
internal/auth - Accounts
internal/accounts - Seller applications
internal/sellers
Catalog and commerce
- Shops and policies
internal/shops - Catalog and listings
internal/catalog - Buyer cart
internal/cart - Checkout
internal/checkout - Payment gateway
internal/payments/gateway.go - Orders and fulfillment
internal/orders - Inventory
internal/inventory - Shipping
internal/shipping/shipping.go
Application runtime
- HTTP API
cmd/api/main.go - App composition
internal/app/app.go - Background worker
cmd/worker/main.go
Platform services
- PostgreSQL
internal/platform/database/postgres.go - Object storage
internal/platform/objectstorage/client.go - Transactional outbox
internal/platform/outbox - Email delivery
internal/platform/email/email.go
Other components
- Buyer
- Seller
- Administrator
Connections 22
- Buyer → Marketplace UI: shops and buys
- Seller → Marketplace UI: manages shop
- Administrator → Marketplace UI: moderates
- Marketplace UI → API client: requests data
- API client → HTTP API: calls API
- HTTP API → App composition: serves through
- App composition → Authentication: registers routes
- App composition → Accounts: registers routes
- App composition → Seller applications: registers routes
- App composition → Shops and policies: registers routes
- App composition → Catalog and listings: registers routes
- App composition → Buyer cart: registers routes
- App composition → Checkout: registers routes
- App composition → Orders and fulfillment: registers routes
- App composition → Inventory: registers routes
- App composition → PostgreSQL: provides connection
- App composition → Object storage: provides client
- App composition → Transactional outbox: creates repository
- Checkout → Payment gateway: uses gateway
- Catalog and listings → Object storage: stores listing media
- Background worker → Transactional outbox: delivers events
- Transactional outbox → Email delivery: dispatches email