How jdmrtne/ecommerce works
This is a configurable ecommerce storefront with a protected admin console. Shoppers browse products, manage a cart, authenticate, and check out; administrators manage catalog content, media, customers, and store presentation. The graph shows documented routing and sampled calls, plus major unsampled capabilities from the tree. Evidence is limited: most page and storage implementations were not excerpted, and the README says the Supabase API layer is not generally wired into the UI yet.
Main entry points: App.tsx Route App · Checkout.tsx Checkout · admin Admin Console · pages Storefront Pages
Components 23
Storefront
- Storefront Pages
src/pages - Store Layout
src/components/layout/Layout.tsx - Navigation
src/components/layout/Navbar.tsx - Catalog Browsing
src/pages/Shop.tsx - Product Detail
src/pages/ProductDetail.tsx
Commerce
- Product Catalog
src/data/products.ts - Cart State
src/context/CartProvider.tsx - Checkout
src/pages/Checkout.tsx - Payment Integration
src/lib/payments/paymongo.ts - Order API
src/lib/api/orders.ts - Order Confirmation
src/pages/OrderConfirmation.tsx
Store Administration
- Admin Console
src/pages/admin - Product Manager
src/pages/admin/ProductManager.tsx - Category Manager
src/pages/admin/CategoryManager.tsx - Media Manager
src/pages/admin/MediaManager.tsx - Theme Settings
src/lib/themeSettingsStore.ts - Theme Presets
src/config/presets/index.ts
Identity and Platform
- Route App
src/App.tsx - Admin Guard
src/components/auth/RequireAdmin.tsx - Media API
src/lib/api/media.ts - Authentication
src/context/AuthProvider.tsx - Supabase Client
src/lib/api/client.ts
Other components
- Shopper
Connections 24
- Shopper → Route App: opens store
src/App.tsx - Route App → Store Layout: routes through
src/App.tsx - Route App → Storefront Pages: routes to
src/App.tsx - Store Layout → Navigation: renders
- Storefront Pages → Catalog Browsing: includes shop
- Catalog Browsing → Product Catalog: browses products
- Storefront Pages → Product Detail: includes details
- Shopper → Cart State: adds items
- Route App → Cart State: provides state
src/App.tsx - Shopper → Checkout: starts checkout
- Checkout → Payment Integration: creates payment
src/pages/Checkout.tsx - Checkout → Order API: creates order
src/pages/Checkout.tsx - Checkout → Order Confirmation: returns to
- Route App → Admin Guard: guards admin routes
src/App.tsx - Admin Guard → Admin Console: permits access
src/App.tsx - Admin Console → Product Manager: routes to
- Admin Console → Category Manager: routes to
- Admin Console → Media Manager: routes to
- Product Manager → Product Catalog: reads catalog
- Category Manager → Product Catalog: resolves categories
src/pages/admin/CategoryManager.tsx - Media Manager → Media API: manages assets
src/pages/admin/MediaManager.tsx - Route App → Authentication: provides identity
src/App.tsx - Authentication → Supabase Client: uses client
src/context/AuthProvider.tsx - Theme Settings → Theme Presets: loads presets
src/hooks/useThemeSettings.ts