Page 1 of 6
System Requirements Document for heroic-ecommerce
1. Introduction
heroic-ecommerce is a broad Indian ecommerce storefront serving both retail buyers and business purchasers. It covers product discovery (home entry, category and subcategory browsing, keyword search, product listings, filters and sorting), full product detail with variants/SKUs, prices, GST, stock, specifications, video and PDF/downloads, the complete guest-and-customer purchase path (cart, customer details, PIN-code shipping serviceability, coupons, GST details, Indian gateway payment, order confirmation), a saved-state account area (wishlist, profile, addresses, orders, tracking, invoices), business-oriented quotation and enquiry submission, a WhatsApp product action, downloadable product documents, and client-authored informational pages.
The audience is four-fold: unregistered Guest Shopper visitors who browse and can complete a purchase or submit a quotation/enquiry without an account; Registered Customer account holders who own durable wishlist, address, order, invoice and tracking state; Business Buyer purchasers who request quotations and require GSTIN-based, GST-invoice-ready purchasing; and the Store Administrator whose per-product configuration decides whether catalogue items are published with correct variants, pricing, GST, stock, documents and enabled product actions.
The product intent is a trustworthy, practical, high-throughput storefront: dense but legible catalogue browsing, decisive action moments (add to cart, buy now, request quotation), and ledger-clear commercial detail (GST, shipping charge, totals, invoices, dispatch status).
Page 2 of 6
2. System Overview
heroic-ecommerce is delivered as a first-party, application-owned web storefront with its own identity and session continuity for customer-specific state. Browsing, product detail, cart, checkout, payment, order confirmation, quotation, enquiry, WhatsApp, downloads and informational pages are reachable by guests. Wishlist and the account area (dashboard, profile, addresses, orders, order details/tracking, invoices) require a signed-in customer. Payment is executed at the selected Indian payment gateway and shipping serviceability, shipping charge and shipping information come from the selected shipping provider; both are external, provider-owned steps inside the storefront's own checkout lifecycle. The WhatsApp action hands off to the configured WhatsApp conversation outside the storefront. Product actions (Add to Cart, Buy Now, Request Quotation, Enquire, WhatsApp, Download) appear only for products where the Store Administrator has enabled them, and Request Quotation appears only for products that allow quotation.
Page 3 of 6
2a. Product Interpretation and Delivery Boundary
Current delivery. The storefront owns the customer-facing catalogue and purchase journey end to end: discovery (Home Page → Category Page → Product Listing → Search), decision (Product Detail with variants/SKUs, related products, downloads, WhatsApp, enquiry and quotation entry points), transaction (Shopping Cart → Checkout → Order Confirmation), and account-based self-service (Wishlist, Account Dashboard, My Profile, My Addresses, My Orders, Order Details / Tracking, My Invoices). Identity is application-owned: new customers create an account, returning customers log in with configured credentials, and customers who lose access recover via Forgot Password. Those three identity steps are reachable without being signed in, because a customer cannot be authenticated before reaching them.
Provider-owned work. Two accepted steps are performed by external providers rather than by storefront UI: PIN-code serviceability, shipping charge and shipping information are supplied by the selected shipping provider during Checkout, and UPI / Cards / Net Banking payment is authorised by the selected Indian payment gateway. The storefront drives these steps, displays their results, and handles their failure and retry paths, but does not own the provider's own interface or credential handling. The WhatsApp action likewise opens the configured external WhatsApp conversation.
Back-office boundary. Product publication — variants/SKUs, price, GST, stock, specifications, video, downloadable documents, related products and the enabled product-action set — is configured by the store administrator in the store's administration back office before it becomes visible on storefront pages. Quotation requests and product enquiries submitted through the storefront are recorded and routed to the store's configured recipients; the commercial follow-up (negotiation, quote issuance, order booking) happens outside the storefront. Administration tooling is a prerequisite input to this storefront, not part of the customer-facing page set delivered here.
Future horizon. See Section 11 — no future items are presented as current pages, and nothing beyond the accepted thread is delivered as storefront behavior.
Page 4 of 6
2c. Page Content and Component Coverage
The page inventory is closed and ordered as follows: Home Page, Category Page, Product Listing, Search, Product Detail, Request Quotation, Product Enquiry, Shopping Cart, Checkout, Order Confirmation, Wishlist, Account Dashboard, My Profile, My Addresses, My Orders, Order Details / Tracking, My Invoices, Basic Pages, Login, Create Account, Forgot Password.
Home Page
- Information and state: Store identity and wordmark, main navigation, horizontal category rail, search entry, account entry (Login / Create Account when anonymous, account link when signed in), wishlist entry and cart entry with item count. Anonymous access; no sign-in required.
- Primary actions: Open a product category or subcategory; search; enter the account area; open the cart; open a featured product.
- Supporting actions: Open wishlist entry point; follow the header/footer links to Basic Pages; open the store's contact information.
- Domain entities: Category, Subcategory, Product (featured), Cart (item count), Wishlist (state indicator), Customer (signed-in state).
- Component responsibilities: Header with utility strip, wordmark, category rail and search control; hero poster region; featured product bay with inventory ticket (SKU, GST-ready price, dispatch status); ruled category cells; footer link block.
- States: Loading skeleton for the category rail and featured product bay; empty state when no featured product is published (rail and search remain usable); success = rail and featured bay populate and all entries navigate; error = a section that fails to load collapses to its ruled placeholder without blocking navigation or search; recovery = retry on the affected section only.
Category Page
- Information and state: Category and subcategory structure, current selection, and the products under the selected category or subcategory. Anonymous access.
- Primary actions: Select a category or subcategory and view the products under it.
- Supporting actions: Move to Product Listing for the selected node; return to Home Page; continue to Search.
- Domain entities: Category, Subcategory, Product, Product Listing context (selected category/subcategory).
- Component responsibilities: Ruled category/subcategory rail, applied-selection indicator, product hand-off region, breadcrumb.
- States: Loading placeholders for the rail and product region; empty state when a selected category or subcategory holds no products, with a route back to other categories; success = selected node lists its products; error = selection fails to resolve, the previous selection is retained with a retry action; recovery = retry or pick another category.
Page 5 of 6
Product Listing
- Information and state: Product cards each showing product image, name, price and the available product action, plus the currently applied filters and sort order. Anonymous access.
- Primary actions: Open a product for details; apply filters; set sorting; trigger the available product action directly from a card.
- Supporting actions: Add to cart where that action is Admin-enabled for the product; load more / page through results; clear applied filters.
- Domain entities: Product, Product card (image, name, price, available action), Filter, Sort option, Cart, Wishlist.
- Component responsibilities: Filter panel, sort control, ruled product grid with varied editorial spans, work-ticket card strips (SKU, GST-inclusive price, stock signal, enabled action), applied-filter summary, result count.
- States: Loading card skeletons; empty state when no product matches the applied filters with a clear-filters action; success = cards render with complete work-ticket strips; error = filter/sort request fails, previously rendered results stay visible with a retry; recovery = remove the failing filter or retry.
- Note: Cards must not render as identical floating tiles; at least one product may occupy a wider editorial bay.
Search
- Information and state: Search keyword, matching products, and applicable filters and sorting over the result set. Anonymous access.
- Primary actions: Enter a keyword and view matching products; open a product.
- Supporting actions: Apply filters and sorting; refine the keyword; trigger an available product action; move to Category Page.
- Domain entities: Search query, Product, Filter, Sort option.
- Component responsibilities: Search field with submit, query echo, result region reusing Product Listing card and work-ticket components, filter/sort controls, no-result guidance.
- States: Loading state while matching runs; empty state when the keyword matches nothing, with suggested categories and a refine action; success = matching products listed with result count; error = search request fails with the entered keyword preserved and a retry; recovery = retry or refine the keyword.
Product Detail
- Information and state: Product name, description, images, variants/SKUs, price, GST, stock, specifications, video and PDF/downloads; enabled product-action set; related products. Anonymous access.
- Primary actions: Select the required variant/SKU; Add to Cart; Buy Now; Request Quotation; Enquire; WhatsApp; Download a document.
- Supporting actions: Open a related product; play the product video; view document metadata before download; open WhatsApp when configured.
- Domain entities: Product, Variant/SKU, Price, GST, Stock, Specification, Video, Document (PDF/download), Related product, Cart, Wishlist.
- Component responsibilities: Image/hero bay in a ruled inventory frame, inventory ticket block (SKU, GST-inclusive price, stock signal, dispatch status), variant selector, action ticket row restricted to Admin-enabled actions, numbered specification ledger, document tabs for downloads, related-product strip, stock and GST display.
- States: Loading placeholders for image and ledger rows; unavailable state when stock is zero (dependent actions disabled or hidden while allowed actions such as Request Quotation, Enquire, WhatsApp stay visible); validation state when a variant is required but not yet selected (dependent actions blocked with a clear prompt); success = selected SKU drives price, GST, stock and enable-status of dependent actions; error = a document download or media load fails with a retry that does not lose the current selection; recovery = retry the failed element or choose another variant/document.
- Constraint: Only actions enabled by Admin for that product are displayed; Request Quotation appears only for products that allow quotation.
Page 6 of 6
Request Quotation
- Information and state: The selected product and its variant/SKU context, quotation-eligible status, and the submitted contact details, quantity and comments. Anonymous access; reachable by guest and business buyers.
- Primary actions: Submit contact details, selected product, quantity and comments as a quotation request.
- Supporting actions: Review and correct entered details; return to Product Detail.
- Domain entities: Quotation request, Contact details, Selected product, Variant/SKU, Quantity, Comments, Store recipient.
- Component responsibilities: Quotation form as numbered ledger rows,
No comments yet. Be the first!