How xalhexi-sch/uma-market works
UMA Market is a regional B2B farm-produce marketplace. Businesses discover local listings, build a multi-farm cart, check out, and track orders; farmers manage produce and fulfill incoming orders, while admins oversee platform records. The graph includes documented onboarding, messaging, and authentication integration. Some routes and query modules are unsampled, so uncertain internal wiring is omitted; search and product-form links are supported by the provided source excerpts.
Main entry points: products/actions.ts Produce Inventory · onboarding/actions.ts Role Onboarding · server.ts RLS Server Client · page.tsx Public Catalog
Components 25
Marketplace Discovery
- Public Catalog
src/app/products/page.tsx - Product Details
src/app/products/[id]/page.tsx - Live Search UI
src/components/products/product-search-context.tsx - Search API
src/app/api/products/search/route.ts - Marketplace Home
src/app/page.tsx
Business Purchasing
- Grouped Cart
src/app/(dashboard)/business/cart/page.tsx - B2B Checkout
src/app/(dashboard)/business/checkout/actions.ts - Order History And Tracking
src/app/(dashboard)/business/orders/page.tsx
Farmer Operations
- Produce Inventory
src/app/(dashboard)/farmer/products/actions.ts - Listing Form
src/components/dashboard/product-form.tsx - Incoming Orders
src/app/(dashboard)/farmer/orders/page.tsx - Participant Messaging
src/app/(dashboard)/messages/actions.ts
Identity And Administration
- Role Onboarding
src/app/onboarding/actions.ts - Clerk Identity
- Identity Sync Webhook
src/app/api/webhooks/clerk/route.ts - Admin Workspaces
src/app/(dashboard)/admin/actions.ts
Data Services
- Product Queries
src/lib/supabase/queries/products.ts - Order Queries
src/lib/supabase/queries/orders.ts - Profile Queries
src/lib/supabase/queries/profiles.ts - RLS Server Client
src/lib/supabase/server.ts - Supabase PostgreSQL
Other components
- Business Buyer
- Farmer
- Administrator
- Clerk Service
Connections 25
- Business Buyer → Marketplace Home: visits
- Business Buyer → Public Catalog: browses
- Public Catalog → Live Search UI: hosts search
- Live Search UI → Search API: fetches results
- Search API → Product Queries: calls search
- Product Queries → Supabase PostgreSQL: queries listings
- Business Buyer → Product Details: inspects produce
- Business Buyer → Grouped Cart: shops
- Business Buyer → B2B Checkout: submits purchase
- Business Buyer → Order History And Tracking: tracks orders
- Farmer → Produce Inventory: manages listings
- Produce Inventory → Listing Form: uses form
- Listing Form → Produce Inventory: calls actions
- Farmer → Incoming Orders: manages fulfillment
- Farmer → Participant Messaging: communicates
- Business Buyer → Participant Messaging: communicates
- Business Buyer → Role Onboarding: completes onboarding
- Farmer → Role Onboarding: completes onboarding
- Administrator → Admin Workspaces: administers platform
- Role Onboarding → Clerk Identity: assigns role
- Clerk Identity → Clerk Service: authenticates
- Clerk Service → Identity Sync Webhook: sends events
- Identity Sync Webhook → Supabase PostgreSQL: syncs profiles
- RLS Server Client → Clerk Identity: gets session token
- RLS Server Client → Supabase PostgreSQL: connects with RLS