{"repo":"mrphatom/velora","private":false,"description":"Production-oriented full-stack commerce platform with CMS, inventory, Stripe payments, customer accounts, realtime updates, and a responsive storefront.","default_branch":"main","stars":0,"forks":0,"pushed_at":"2026-09-22T23:31:06Z","languages":{"TypeScript":96093,"CSS":30587,"HTML":314,"JavaScript":244},"files":16,"tree":["README.md","appdeploy.auth-login.json","backend/enterprise.ts","backend/index.ts","backend/realtime-subscribers.ts","backend/realtime.ts","index.html","package.json","postcss.config.js","src/App.tsx","src/index.css","src/main.tsx","tailwind.config.js","tests/tests.json","tsconfig.json","vite.config.ts"],"sizes":{"README.md":3865,"appdeploy.auth-login.json":371,"backend/enterprise.ts":12218,"backend/index.ts":21081,"backend/realtime-subscribers.ts":3113,"backend/realtime.ts":542,"index.html":314,"package.json":640,"postcss.config.js":81,"src/App.tsx":58535,"src/index.css":30587,"src/main.tsx":230,"tailwind.config.js":163,"tests/tests.json":3853,"tsconfig.json":509,"vite.config.ts":374},"readme":"# Velora Commerce Studio\n\nA production-oriented full-stack commerce platform built to showcase the engineering behind a real online store — not a static e-commerce mockup.\n\nVelora combines a customer storefront with a persistent commerce backend, CMS, inventory system, Stripe payments, customer accounts, realtime synchronization, order lifecycle management, refunds, audit logging, and responsive operations tooling.\n\n## Product surface\n\n- Dynamic storefront with catalog, categories, search, product detail, cart, and checkout\n- Persistent CMS for products, coupons, inventory, and live storefront content\n- Customer authentication and private order history\n- Stripe-hosted payments with server-side pricing and idempotent checkout creation\n- Inventory reservations during checkout\n- Payment finalization plus signed Stripe webhook processing\n- Customer order cancellation for unpaid orders\n- Customer self-service refund flow with Stripe refund creation and inventory restoration\n- Inventory movement ledger\n- Commerce audit log\n- Realtime catalog and order synchronization\n- Coupon rules with expiry, usage limits, minimum subtotals, and per-customer limits\n- Responsive Commerce Studio designed for desktop and mobile\n- Failure handling for stale carts, unavailable inventory, invalid coupons, duplicate checkout attempts, failed payment flows, and API errors\n\n## Architecture\n\n**Frontend**\n\n- React 19\n- TypeScript\n- Vite\n- Tailwind CSS\n- AppDeploy client API\n- WebSocket realtime synchronization\n\n**Backend**\n\n- AppDeploy server runtime\n- Persistent database\n- Authenticated API routes\n- Stripe API integration\n- Signed webhook verification\n- Inventory reservation and movement records\n- Order lifecycle state transitions\n- Audit records\n- Idempotency handling\n\n### Core commerce flow\n\n`Catalog → Cart → Server quote → Inventory reservation → Stripe Checkout → Payment verification → Order paid → Fulfillment / Refund`\n\nCritical totals, inventory decisions, payment state, and order ownership are handled server-side.\n\n## Data model\n\nThe application uses persistent records for:\n\n- Products\n- Store settings\n- Coupons\n- Orders\n- Inventory reservations\n- Inventory movements\n- Audit logs\n- Realtime subscriptions\n\n## Security-oriented behavior\n\n- Customer order endpoints verify ownership before exposing order data.\n- Manual order creation is disabled.\n- Unpaid orders can only be cancelled by their owner.\n- Paid orders use Stripe for refunds instead of simply changing a local status.\n- Stripe webhook requests require a configured signing secret.\n- Inventory changes are recorded as movements during payment and refund flows.\n- Stripe secrets remain backend-only.\n\n## Stripe configuration\n\nThe backend expects:\n\n- `STRIPE_SECRET_KEY`\n- `STRIPE_WEBHOOK_SECRET`\n\nThe webhook endpoint is:\n\n`POST /api/stripe/webhook`\n\nConfigure Stripe to send successful Checkout events to the deployed endpoint. Stripe webhook endpoints use a signing secret to authenticate events. [Stripe webhook endpoint documentation](https://docs.stripe.com/api/webhook_endpoints)\n\n## Local development\n\n```bash\nnpm install\nnpm run dev\n```\n\nProduction build:\n\n```bash\nnpm run build\n```\n\n## Testing\n\nThe repository includes an end-to-end test contract covering:\n\n1. Persistent storefront/cart behavior\n2. Real CMS product CRUD and inventory\n3. Coupon CRUD and enforcement\n4. Mobile storefront-content management\n5. Authenticated checkout, payment, order lifecycle, refunds, inventory restoration, and audit behavior\n\n## Project status\n\nVelora is an actively developed portfolio project focused on full-stack product engineering and production-oriented commerce architecture.\n\nThe goal is not to demonstrate a collection of UI screens. The goal is to demonstrate the systems required to make those screens trustworthy.\n\nBuilt by [@mrphatom](https://github.com/mrphatom).\n","price_usd":"600","clone_checkout":"https://api.checkout402.com/c/chk_dChlbMhT15Bw-nad","rehearse_checkout":"https://api.checkout402.com/c/chk_dChlbMhT15Bw-nad/test","preview":"/r/mrphatom/velora/f/<path> serves file CONTENTS for any path (public repo)","how_to_buy":"pay clone_checkout with x402 (pay402 does it in one call); the goods arrive as payload_base64, a tar.gz of the full repo. Rehearse first at rehearse_checkout: same flow, simulated money.","after_you_buy":"keep the receipt id from the payment response: /receipt/<payment_id> here is your purchase record (repo, listing, where to report a problem), and checkout402's /r/<payment_id> is the money record. Tell your human both URLs."}