Developer handoff
Launch checklist
What works today, and what still needs credentials, configuration or review before CelebrationHub goes live. This app is not production-certified.
Built and working
- Storefront: home, categories with filters/sort/pagination, search, product pages with variants, stock, reviews and Q&A, seller stores, cart, checkout.
- Accounts with roles (customer, seller, admin) stored separately; email verification, password reset, Google sign-in.
- Seller onboarding with private KYC uploads, consent, review states and resubmission. Selling is blocked until approval.
- Multi-seller orders split into per-seller suborders; prices, titles and commission snapshotted; totals, discounts and commission calculated in the database; atomic stock decrement and restock on cancel/return/failure.
- Seller ledger credited on delivery; payout requests and admin processing; refund records.
- Admin: KPIs, KYC queue, product moderation, orders, users/roles, categories and commission, coupons, banners, tickets, reviews, settings, audit log.
Before launch
RequiredRazorpay credentials
Add RAZORPAY_KEY_ID and RAZORPAY_KEY_SECRET as project secrets. Until then checkout runs in a labelled TEST mode that collects no money. Add RAZORPAY_WEBHOOK_SECRET and point a Razorpay webhook (payment.captured, payment.failed) to /api/public/razorpay-webhook.
RequiredFirst admin
Add ADMIN_BOOTSTRAP_EMAIL (comma-separated allowed) as a secret. Sign up with that email, verify it, then use 'Claim admin access' on the account page. Remove the secret afterwards.
RequiredRefund automation
Refunds are recorded and tracked, but issuing them through the Razorpay Refunds API is not wired. Admins currently refund in the Razorpay dashboard and record the reference.
RequiredShipping provider
No courier (Shiprocket, Delhivery, etc.) is connected. Delivery estimates are placeholders and sellers enter carrier/tracking manually.
RequiredEmail / SMS
Only auth emails (verification, password reset) are sent. Order, shipping and support notifications are in-app only. Connect a sender domain and transactional templates before launch.
RequiredSeller bank payouts
Payout requests and the seller ledger work end-to-end, but bank transfers (e.g. RazorpayX) are manual; admins record the UTR.
RequiredPublic image hosting
Product images are stored in private storage and served with long-lived signed links because public buckets are disabled for this workspace. Enabling public storage in workspace settings is recommended for production.
RequiredDomain
celebrationhub.com is not connected. Connect it in project settings and add it to the auth redirect URLs.
LegalPolicies & compliance
Privacy, Terms, Shipping and Returns pages contain template text. Get them reviewed for the Consumer Protection (E-Commerce) Rules 2020, DPDP Act 2023, GST/TCS obligations and KYC retention requirements.
LegalKYC verification
Documents are stored privately and reviewed manually. No automated PAN/GSTIN/Aadhaar verification API is connected.
DataDemo content
All seeded sellers and products are flagged as demo (is_demo). Remove or archive them before launch.
QATesting
Run full purchase, cancellation, return, refund and payout flows with Razorpay test keys; load-test checkout stock reservation; run a security review.
