How rhenerds/rhenerds-commerce works
This is a SvelteKit storefront for browsing merchandise, managing a stock-limited cart, and completing payment through DOKU. The principal workflow runs from the shared storefront shell and catalog pages through product selection, cart management, checkout, and payment-status summary. Product and inventory API routes support discovery and stock checks; checkout and transaction-status routes integrate with DOKU, while checkout also uses Upstash Redis. Several route implementations were not sampled, so undocumented links and behavior are omitted rather than inferred.
Main entry points: +server.ts Product query API · stock Stock APIs · cart/+page.server.ts Cart logic · [slug]/+page.server.ts Add to cart
Components 25
Storefront
- Site shell
src/routes/+layout.svelte - Home
src/routes/+page.svelte - Home loader
src/routes/+page.server.ts - Catalog
src/routes/catalog/+page.svelte - Catalog loader
src/routes/catalog/+page.server.ts - Product detail
src/routes/catalog/[slug]/+page.svelte - Product view
src/lib/components/ProductView.svelte - Informational pages
src/routes/about - Legal pages
src/routes/legal
Shopping
- Cart page
src/routes/cart/+page.svelte - Cart logic
src/routes/cart/+page.server.ts - Add to cart
src/routes/cart/[slug]/+page.server.ts - Cart store
src/lib/stores/cartStore.ts - Cart utilities
src/lib/utils/cart.ts
Commerce APIs
- Product query API
src/routes/api/productquery/+server.ts - Stock APIs
src/routes/api/stock
Payment
- Checkout page
src/routes/cart/checkout/+page.svelte - Checkout flow
src/routes/cart/checkout/+page.server.ts - Order summary
src/routes/summary/+page.svelte - Status loader
src/routes/summary/+page.server.ts - Checkout API
src/routes/api/checkout/+server.ts - Transaction status
src/routes/api/trstat/+server.ts
Other components
- Shopper
- Upstash Redis
- DOKU payment
Connections 24
- Shopper → Site shell: browses
src/routes/+layout.svelte - Shopper → Home: visits
- Shopper → Catalog: searches
- Home loader → Product query API: fetches products
src/routes/+page.server.ts - Home loader → Stock APIs: fetches stock
src/routes/+page.server.ts - Catalog loader → Product query API: fetches products
src/routes/catalog/+page.server.ts - Catalog loader → Stock APIs: fetches stock
src/routes/catalog/+page.server.ts - Product detail → Product view: renders
- Shopper → Add to cart: adds item
- Add to cart → Stock APIs: checks stock
src/routes/cart/[slug]/+page.server.ts - Add to cart → Product query API: validates product
src/routes/cart/[slug]/+page.server.ts - Cart logic → Stock APIs: checks stock
src/routes/cart/+page.server.ts - Cart logic → Product query API: fetches products
src/routes/cart/+page.server.ts - Cart logic → Cart store: updates amount
- Shopper → Checkout page: starts checkout
- Checkout flow → Product query API: fetches products
src/routes/cart/checkout/+page.server.ts - Checkout flow → Checkout API: submits order
- Checkout API → Upstash Redis: updates stock
src/routes/api/checkout/+server.ts - Checkout API → DOKU payment: creates payment
src/routes/api/checkout/+server.ts - Status loader → Transaction status: checks invoice
src/routes/summary/+page.server.ts - Status loader → Product query API: fetches products
src/routes/summary/+page.server.ts - Transaction status → DOKU payment: queries status
src/routes/api/trstat/+server.ts - Shopper → Informational pages: reads
- Shopper → Legal pages: reads