NIME Co-operative Stores

E-Commerce Store — Full Specification

1. Overview

This page defines everything the online store must have: product and catalog model, customer-facing pages and features, customer accounts, admin catalog and admin pages, order and payment flows, architecture, and integration with the existing NIM Co-operative system (members, PNO, member account payment).

2. Product & Catalog (Data Model)

2.1 Product Details (What a Product Has)

AttributeTypeDescription
idPKUnique identifier
skustring, uniqueStock Keeping Unit (e.g. RICE-10KG)
namestringDisplay name
slugstring, uniqueURL-friendly name (e.g. rice-premium-10kg)
short_descriptiontext1–2 lines for listing/cards
descriptiontext / HTMLFull description (tabs, specs, usage)
category_idFKPrimary category
categoriesmany-to-many, optionalAdditional categories (e.g. “On Offer”, “New”)
pricedecimalBase / list price
sale_pricedecimal, nullableDiscounted price; if set, show as “sale”
cost_pricedecimal, optionalFor margin reports (admin only)
currencystringe.g. INR
tax_classFK or stringTaxable / exempt / reduced
imagesone-to-manyMultiple images: url, alt, sort_order; one primary
stock_quantityintAvailable quantity; decrement on order
track_inventorybooleanWhether to enforce stock (yes) or “always available”
low_stock_thresholdint, optionalAlert when stock < this
weight / dimensionsdecimal, optionalFor shipping calculation
is_activebooleanVisible on store (false = hidden/draft)
is_featuredbooleanShow on homepage / featured section
sort_orderintOrder within category/list
meta_title, meta_descriptionstringSEO
created_at, updated_atdatetimeAudit

2.2 Product Variants (Optional but Recommended)

For products with size, colour, pack size:

AttributeDescription
product_id (FK)Parent product
skuVariant-level SKU (e.g. RICE-10KG-WHITE)
namee.g. “10 kg – White”
price / sale_priceOverride parent if different
stock_quantityPer variant
attributesJSON or table: e.g. { "size": "10kg", "type": "white" }

Cart and order items reference variant_id (or product_id if no variants).

2.3 Categories

AttributeDescription
id, name, slugUnique; slug for URL
parent_id (FK)Hierarchy (e.g. Groceries → Rice → Premium)
descriptionOptional; category page content
image_urlOptional banner for category page
sort_order, is_activeOrder in nav; show/hide
meta_title, meta_descriptionSEO

2.4 Other Catalog Entities

3. Customer-Facing Pages & Features

3.1 Public Pages (No Login Required)

PagePurposeKey elements
HomepageLandingHero/banner, featured products, categories grid, promotions, trust (delivery, payment, support)
Category listingBrowse by categoryCategory name/description, product grid (image, name, price, sale price, Add to cart), sort, filters, pagination
Product detailSingle productImage gallery, name, price, sale price, short desc, Add to cart (qty, variant selector), full description, specs, related products, reviews (if enabled)
Search resultsQuery-basedSame as category listing for search query; facets/filters
CartCurrent cartLine items (image, name, variant, qty, price, line total), update qty, remove, subtotal, Proceed to checkout, Continue shopping
CheckoutPlace orderSteps: (1) Delivery address (2) Shipping method (3) Payment method (4) Review order (5) Place order; guest checkout; optional Login/Register
Order confirmationAfter place orderThank-you, order number, summary, View order link, invoice download (PDF)
Static / CMS pagesPolicy, infoAbout, Contact, Shipping & returns, Privacy, Terms; editable in admin

3.2 Customer Account Pages (Login Required)

PagePurposeKey elements
LoginSign inEmail/phone + password; Forgot password; Register link
RegisterCreate accountName, email, phone, password, optional member PNO link
Forgot passwordResetEmail/phone → reset link or OTP
Account dashboardOverviewGreeting, recent orders, default address, quick links
ProfileEdit accountName, email, phone, change password
AddressesSaved addressesList add/edit/delete; set default shipping/billing
Order historyList ordersTable: order no., date, status, total; click → order detail
Order detailSingle orderItems, shipping address, payment method, status timeline, invoice download, reorder (optional)
Wishlist (optional)Saved productsGrid; add to cart; remove
Payment methods (optional)Saved cards/UPIAdd/remove; use at checkout (tokenised; PCI-compliant)

3.3 Customer Features (Behaviour)

4. Admin: Catalog & Product Management

4.1 Admin Catalog Pages

Page / AreaPurposeKey elements
Product listAll productsTable: image, SKU, name, category, price, stock, status, actions (edit, duplicate, delete); filters; search; bulk actions; Add product
Product create / editSingle product formTabs: Basic (name, slug, SKU, descriptions), Pricing, Inventory, Categories & attributes, Images (upload, reorder), Variants, SEO, Status (active/draft)
Category listAll categoriesTree or flat list; name, slug, parent, product count, sort, actions
Category create / editSingle categoryName, slug, parent, description, image, sort, SEO, active
AttributesFilter/spec attributesList; create/edit name, type, values; assign to categories
Bulk importMass product create/updateCSV/Excel template; map columns; validate; import; error report
Bulk exportExport productsCSV/Excel of products (and optionally inventory)

4.2 Admin Inventory (Optional)

5. Admin: Orders & Customers

5.1 Admin Order Pages

PagePurposeKey elements
Order listAll ordersTable: order no., date, customer, total, status, payment; filters (date, status, payment); search; Export
Order detailSingle orderCustomer, shipping address, items, subtotal, shipping, tax, total; payment method/status; Status workflow: Pending → Confirmed → Processing → Shipped (tracking) → Delivered; Cancel; Refund (full/partial); internal notes; Resend confirmation, regenerate invoice PDF
InvoicesInvoice managementList by order; download PDF; reprint

5.2 Admin Customer Pages

PagePurposeKey elements
Customer listAll customersTable: name, email, phone, orders count, last order, member PNO; search; filters
Customer detailSingle customerProfile, addresses, order history, internal notes; optional tags, segment

6. Admin: Content, Settings, Reports

6.1 Content / CMS (Optional)

PagePurpose
PagesStatic: About, Contact, Shipping, Returns, Privacy, Terms; rich text; SEO
Banners / promotionsHomepage banners; link URL; schedule (from–to); image upload
MenuNavigation links (categories, custom links)

6.2 Settings

AreaPurpose
Store infoStore name, logo, contact email, phone, address
TaxTax rates (e.g. by state, product tax class); inclusive/exclusive
ShippingMethods (flat rate, by weight, free above X); zones if needed
Payment methodsEnable/disable: COD, Online PG (Razorpay/PayU etc.), Member account (NIM PNO); PG credentials (secure)
NotificationsEmail templates (order confirmed, shipped, etc.); SMS if used
CurrenciesDefault currency (INR)
SecurityHTTPS, password policy, session timeout

6.3 Reports & Dashboard

ElementPurpose
DashboardKPIs: sales (today/week/month), orders count, new customers; low-stock list; recent orders; quick links
Sales reportBy date range; by product/category; charts (line, bar)
Order reportOrders by status; average order value
Product reportBest sellers; low stock; out of stock
Customer reportNew customers; repeat rate; optional RFM

7. Order & Payment Flows

7.1 Order Lifecycle

  1. Cart → Customer adds items (product/variant, qty).
  2. Checkout → Address, shipping method, payment method; validation: stock check, min order if any.
  3. Place order → Create order (status: Pending); reduce stock (or reserve); if online payment: redirect to PG → success/cancel webhook → confirm order or cancel and restore stock.
  4. Confirmation → Order confirmed (email + screen); invoice generated (PDF).
  5. Fulfilment → Admin: Confirm → Processing → Shipped (tracking) → Delivered; optional partial ship, return/refund.

7.2 Payment Methods (Aligned with NIM)

MethodFlow
CODOrder created; payment on delivery; mark “Paid” when delivered if needed
Online (PG)Redirect to gateway; capture; webhook confirms payment; order confirmed
Member account (PNO)Validate PNO; order total charged to member; backend posts to member_monthly_deduction or member_orders; invoice shows “Charged to member account”

7.3 Invoice

8. Architecture (High-Level)

8.1 Layers

LayerResponsibility
Frontend (store)Customer UI: homepage, category, product, cart, checkout, account; responsive; SEO-friendly URLs
Frontend (admin)Admin UI: dashboard, catalog, orders, customers, settings, reports; auth; role-based access
APIREST (or GraphQL): catalog, cart, checkout, orders, account, auth; admin APIs for CRUD and reports
ServicesOrder service, payment service (PG, member account), notification service (email/SMS), invoice service (PDF), search service (optional)
DataPostgreSQL: products, categories, variants, cart, orders, customers; Redis (optional): cart session, cache, rate limit
StorageS3: product images, invoice PDFs, exports; CloudFront for images

8.2 Integration with NIM System

8.3 Scalability & Performance

9. Security & Compliance

10. Summary Checklist

Product & Catalog

Customer Pages

Admin Pages

Technical

This specification is the single reference for building a complete, efficient e-commerce store for NIME Co-operative Stores, from product details to admin catalog and customer account pages.