How audri-23/decorate3d works
Decorate3D is a C2C used-furniture marketplace with room-planning and 3D visualization, augmented by AI discovery and a transaction-to-delivery workflow. Users browse or list furniture, assess and explore items, arrange delivery and checkout; escrow, disputes, invoices, and tracking support post-purchase fulfillment. The sampled source confirms several feature integrations and persistence paths, while unsampled modules are represented only where the tree documents their capability; uncertain wiring is omitted.
Main entry points: App.jsx Marketplace UI · assistant.controller.js AI Assistant · tracking.controller.js Live Tracking · dispute.controller.js Dispute Resolution
Components 26
Marketplace
- Marketplace UI
views/App.jsx - Product Catalog
controllers/productController.js - Product Records
models/ProductModel.js - Authentication
controllers/authController.js
AI Discovery
- Damage Assessment
features/f1-damage-assessment/damage.controller.js - Attribute Tagging
features/f3-attribute-tagging/tagging.controller.js - Style Search
features/f4-style-search/styleSearch.controller.js - AI Assistant
features/f5-ai-assistant/assistant.controller.js
3D Design
- Room Planner
controllers/roomPlannerController.js - Room Layouts
models/RoomLayoutModel.js - 3D Viewer
controllers/useViewer3DController.js - 3D Asset Services
services/3d/assetLibrary.js
Transaction Fulfillment
- Shipping Quote
features/f10-shipping-quote/shipping.controller.js - Courier Dispatch
features/f11-courier-dispatch/dispatch.controller.js - Dispatch Jobs
features/f11-courier-dispatch/dispatch.model.js - Live Tracking
features/f12-live-tracking/tracking.controller.js - Tracking Sessions
features/f12-live-tracking/tracking.model.js - Stripe Checkout
features/f13-stripe-checkout/stripe.controller.js - Order Records
features/f13-stripe-checkout/order.model.js - Escrow Holding
features/f14-escrow-holding/escrow.controller.js - Invoices
features/f15-invoice/invoice.controller.js - Dispute Resolution
features/f16-disputes/dispute.controller.js
Other components
- Buyer
- Seller
- Gemini AI
- Stripe Payments
Connections 37
- Buyer → Marketplace UI: uses
- Seller → Marketplace UI: uses
- Marketplace UI → Product Catalog: requests catalog
- Product Catalog → Product Records: reads and writes
- Marketplace UI → Authentication: authenticates
- Marketplace UI → Damage Assessment: requests assessment
- Damage Assessment → Gemini AI: analyzes images
- Marketplace UI → Attribute Tagging: requests tags
- Attribute Tagging → Gemini AI: classifies images
- Marketplace UI → Style Search: searches styles
- Style Search → Gemini AI: describes and embeds
- Style Search → Product Records: searches matches
- Marketplace UI → AI Assistant: asks questions
- AI Assistant → Product Records: reads product
- AI Assistant → Dispatch Jobs: reads delivery jobs
- AI Assistant → Gemini AI: generates replies
- Marketplace UI → Room Planner: plans room
- Room Planner → Room Layouts: stores layouts
- Marketplace UI → 3D Viewer: inspects furniture
- 3D Viewer → 3D Asset Services: loads 3D assets
- Marketplace UI → Shipping Quote: requests quote
- Marketplace UI → Stripe Checkout: starts purchase
- Stripe Checkout → Stripe Payments: creates payment
- Stripe Checkout → Order Records: records order
- Stripe Payments → Stripe Checkout: sends webhook
- Marketplace UI → Escrow Holding: manages escrow
- Marketplace UI → Courier Dispatch: manages dispatch
- Courier Dispatch → Dispatch Jobs: reads and updates
- Marketplace UI → Live Tracking: views delivery
- Live Tracking → Dispatch Jobs: checks job
- Live Tracking → Tracking Sessions: manages sessions
- Live Tracking → Dispatch Jobs: reads jobs
- Marketplace UI → Dispute Resolution: raises and resolves
- Dispute Resolution → Order Records: reads and updates
- Dispute Resolution → Escrow Holding: releases funds
- Dispute Resolution → Invoices: requests invoice
- Invoices → Order Records: loads order