v1.7 — Live & operational

Amanah India

Internal project summary for a production-ready serverless marketplace for Indian Muslim brands — Islamic books, ethnic wear, attar, and Umrah services.

Live: shopamanah.in Repo: iqbalmuddassir/al-amanah-store-india Created: June 2026 Updated: July 1, 2026

Standalone offline document — open in any browser

1,161+
Unit Tests
150+
Products
7
Releases
4
Sellers
3
Admin Roles
99.9%
Uptime SLA

Executive Summary

Amanah India is a fully-built, production-ready serverless e-commerce marketplace for Indian Muslim brands. The platform serves a multi-seller Islamic bookstore, ethnic wear, attar, and Umrah services — all promoted by Manshurat Publishers.

The storefront is 100% static (no backend server required), hosted on Firebase Hosting with GitHub Actions CI/CD. Orders are managed through a role-based admin portal. All core functionality works entirely client-side via localStorage + Firebase (best-effort).

Current Status: v1.7 — Live and operational with 1,161+ unit tests, complete admin/seller portals, dispatch tracking, business settings runtime configuration, and storefront polish.

Customer storefront

Catalog, checkout, UPI payments, order tracking, profile management, and guest checkout — all client-side.

Admin portal

Role-gated dashboard for orders, products, sellers, customers, reports, and runtime settings.

Seller central

Self-service dashboard with CSV upload, per-seller fulfilment, and dispatch tracking.

Security & quality

CSP headers, Firestore rules, 1,161 unit tests gating every deploy, audit logging.

Order Pipeline

Customer view:

1Processing
2Dispatched
3In Transit
4Out for Delivery
5Delivered

Admin/Seller view:

1pending_verification
2confirmed
3shipped
4in_transit
5out_for_delivery
6delivered

Documentation Files

FilePurpose
README.mdDevelopment setup, deployment, custom-domain auth checklist
CLAUDE.mdFull codebase inventory, architecture, key files, Firestore schema
AGENTS.mdAI assistant guide, conventions, code patterns, CI/CD
docs/PRD.mdProduct Requirements Document (v1.0 comprehensive spec)
docs/amanah-work-summary.mdDownloadable work summary (Markdown)
docs/project-summary.htmlInteractive HTML summary with tabs (this page)

Release Timeline

Click any release to expand details. Seven releases from June 15 – July 1, 2026.

  • Dispatch tracking MVP: Admin/seller mark orders shipped with delivery partner, tracking number, dispatch date
  • Delivery partners settings: Super-admin manages partner list (Firestore-driven, never hardcoded)
  • Storefront UI: Coffee palette color update, alignment polish, favicon, checkout layout, marquee gating
  • Seller & Admin fixes: Unified Add/Edit product UI, permission-denied errors resolved
  • Single-order refresh: Order detail sheet re-fetches tracking data on open
  • CI/CD polish: Split workflows (PR-preview vs main-deploy), Firebase deploy auth restored
  • Storefront redesign: New navigation, homepage revamp, filterable shop catalog, light-first theme
  • Auth fixes: Google sign-in restored on custom domain via authDomain + CSP frame-src fixes
  • Super-admin CMS: About/Contact pages togglable without redeploy
  • Seller portal stabilization: Gate no longer hides live dashboard when enabled
  • Comprehensive testing: 1,161 tests across 20+ modules (Jest)
  • Tests in CI: Jest runs on every pull request and gates all deploys
  • Documentation: CLAUDE.md refreshed; AGENTS.md guide for AI assistants
  • Per-app auth isolation: Separate Firebase instances for admin, seller, storefront
  • Business settings panel: Runtime-editable config via Firestore — no deploy required
  • Admin improvements: View/edit mode toggle, cancelled-order filters, site launch gate
  • Storefront polish: Cart qty stepper restored, New/Sale tags, checkout parity
  • SOLID redesign: Layered architecture (domain → infrastructure → components → apps → pages)
  • URL renames: shop → catalog, product → product-detail, sell → become-a-seller
  • Bug fixes: WhatsApp FAB restoration, seller login unblock
  • Seller orders: Per-seller order breakdown and fulfilment stages
  • Asset security: CSS/canvas watermarks on book covers, interaction blockers
  • Developer experience: bump-versions.mjs cache-busting, pre-commit auto-versioning
  • Admin portal MVP: Dashboard, orders, products, sellers, customers, admins, reports
  • Access control: Google Sign-In gated by Firestore admins/{uid} roles
  • Seller portal: Registration with admin approval, CSV upload, live order management
  • Notifications: Telegram bot alerts, order receipts, CSV export
  • Customer features: Profile page, order history, 5-stage status tracking, cross-device sync
  • Theme: Minimalist Islamic literature design (luxe black & gold, dark/light mode)
  • Payments: UPI push payment (mobile deep links, desktop QR code)
  • Security: Content Security Policy, asset watermarks, interaction blockers

Current Features

FeatureStatusDetails
Homepage✅ CompleteHero banner, editor picks, newly launched preview, social reels carousel
Catalog (/catalog)✅ Complete150+ products, multi-parameter filters, search
Product Detail✅ CompleteFull specs, add-to-cart, qty controls, related products
Shopping Cart✅ CompletelocalStorage primary, Firestore optional sync, pricing breakdown
Checkout✅ Complete4-step flow, guest checkout supported
UPI Payment✅ CompleteMobile deep links; Desktop QR code, UPI ID copy
Order History✅ Complete5-stage status tracker, cross-device sync
Payment Proof✅ CompleteOne-time UPI transaction ID submission
Order Cancellation✅ CompleteCustomers can cancel pre-shipment
Authentication✅ CompleteGoogle Sign-In + Phone OTP, optional
About & Contact✅ CompleteCMS-editable visibility toggle without deploy
Theme & UI✅ CompleteCoffee palette, Amiri/Cormorant Garamond fonts, mobile-first
SEO✅ Completerobots.txt, sitemap.xml, OpenGraph tags, branded 404
FeatureStatusRole AccessDetails
Dashboardsuper_admin ops_adminRevenue, recent orders/sellers, key metrics
Orderssuper_admin ops_adminLive feed, 6-stage pipeline, payment verification
Dispatch Trackingsuper_admin ops_adminMark shipped with delivery partner, tracking #, customer links
Productssuper_admin catalog_adminCRUD, image upload, CSV bulk import, soft delete
Sellerssuper_admin catalog_adminCRUD, logo upload, product count tracking
Customerssuper_admin ops_adminUser profiles, order history, read-only
Adminssuper_adminAdd/remove admins, assign roles
Reportssuper_admin ops_admin catalog_adminSales insights, inventory reports, CSV export
Audit LoggingAll admin writesFirestore audit_logs collection
SettingScopeFirestore DocEffect
Site Launchsuper_adminsettings/site_launchToggle storefront online/offline (coming-soon gate)
Seller Portalsuper_adminsettings/seller_portalToggle /seller between live portal and coming-soon
Business Settingssuper_adminsettings/businessUPI VPA, WhatsApp, discount tiers, GST — no deploy needed
Marketplace Verticalssuper_adminsettings/verticalsShow/hide clothing, perfume, umrah categories
Best Sellerssuper_adminsettings/bestsellersRecompute ranking from orders
Homepage Socialsuper_adminsettings/socialInstagram reel IDs for homepage carousel
Delivery Partnerssuper_adminsettings/delivery_partnersCourier list with tracking URL patterns
FeatureStatusDetails
Registration✅ CompleteGoogle Sign-In with admin approval gate
Dashboard✅ CompleteRevenue, order count, bestseller products, mobile-friendly
Products✅ CompleteCSV upload, CRUD, image upload, seller-wise bulk delete
Orders✅ CompleteLive feed, per-seller fulfilment, dispatch modal
Order Export✅ CompleteCSV download with date filter
Portal Gate✅ CompleteSuper-admin toggle; coming-soon when disabled

Technical Stack

LayerTechnologyNotes
HostingFirebase HostingGitHub Actions CI/CD, push to main auto-deploys
FrontendVanilla JS, HTML, CSSNo bundler, no framework — every file served as-is
AuthFirebase AuthenticationGoogle Sign-In + Phone OTP, optional
DatabaseCloud FirestoreOrders, users, products, sellers, settings, audit logs
StorageFirebase StorageProduct covers, seller logos
NotificationsTelegram Bot + WhatsAppClient-side HTTP POST (best-effort)
EmailFormSubmit.coOrder receipts (best-effort)
PaymentsUPI pushMobile deep links; Desktop QR code
TestingJest 29 (Node)1,161 tests, gates all CI deploys

Project Structure

al-amanah-store-india/ ├── __tests__/ # 1,161+ unit tests (20+ suites) ├── admin/ # Admin portal SPA ├── seller/ # Seller Central SPA ├── js/ │ ├── core/ # Singletons: auth, config, business settings │ ├── domain/ # Pure business logic (no DOM, no Firebase) │ ├── infrastructure/ # Firebase, localStorage adapters │ ├── components/ # UI widgets (auth modal, cart, checkout) │ ├── apps/ # App-level bootstraps │ └── pages/ # Per-page boot scripts ├── css/ # base/ · components/ · pages/ ├── data/ # catalog.js, product-descriptions.js ├── config/site-config.js # Business constants ├── firestore.rules # Deployed on every push to main └── scripts/ # bump-versions.mjs, bootstrap-firestore.mjs

Key Globals

GlobalSourcePurpose
window.SITE_CONFIGconfig/site-config.jsBusiness constants
window.AmanahConfigjs/core/config.jsRuntime config wrapper
window.AmanahFirebasejs/firebase-service.jsAuth + Firestore wrapper
window.AmanahOrderStatusPipelinejs/domain/order-status-pipeline.jsOrder status definitions
window._storefrontPagePage boot scriptPer-page orchestration
BOOKSdata/catalog.jsProduct catalog (no window prefix)

Business Constants

// config/site-config.js — overridable via settings/business upiVPA: 'iqbalmubashshir@icici' upiPayee: 'Mubashshir Iqbal' whatsapp: '+919810147344' shopOrderEmail: 'info.amanahindia@gmail.com' marketplace: { deliveryFlat: 79, deliveryFreeMin: 499, commissionPct: 15 }
CollectionWritten byRead byPurpose
ordersCheckout, payment proofAdmin, profile, sellerCustomer orders + fulfilment
usersAuth + profileAdmin customersUser profiles
productsAdmin CRUDStorefrontProduct catalog
sellersAdmin + signupAdmin, storefrontSeller info
admins/{uid}Super_adminAdmin portalRole assignments
audit_logsAdmin writessuper_adminAudit trail
settings/businessAdmin Settingsjs/core/config.jsRuntime overrides
settings/bestsellersAdmin SettingsCatalog/homepageBest-seller ranking
settings/socialAdmin SettingsHomepageInstagram reel IDs
settings/verticalsAdmin Settingsverticals-visibility.jsCategory visibility
settings/site_launchAdmin Settingssite-launch-gate.jsSite online/offline
settings/seller_portalAdmin Settingsseller-portal-gate.jsSeller portal visibility
settings/delivery_partnersAdmin SettingsDispatch modalsCourier configuration
  • Anyone (no auth): Create orders, read public settings
  • Signed-in customer: Read/update own orders, read/write own profile
  • Approved seller: Read orders they fulfil, update own seller_fulfilment.<uid>
  • Admins: Role-based access via admins/{uid} document
    super_admin ops_admin catalog_admin

1,161 Tests

Jest 29 in Node.js environment — no DOM required for domain layer.

20+ Suites

Mirror source tree: domain, core, infrastructure, components, notification.

CI Gates

All deploys require tests to pass — PR-preview and main-deploy workflows.

Test directories:

__tests__/domain/ __tests__/core/ __tests__/infrastructure/ __tests__/components/ __tests__/notification/ admin-utils seller-utils order-export order-fulfilment order-receipt

Telegram Bot (@AlQuranEducationBot)

EventTriggerContent
New OrderCheckout confirmationOrder ID, customer name/mobile, items, total
Payment ApprovedAdmin actionOrder ID, amount
Payment RejectedAdmin actionOrder ID, reason
New SignupFirst Google authName, email, mobile

WhatsApp & Email: Auto-opens wa.me link after checkout with itemized order. Order receipts via FormSubmit.co (best-effort, 10-second timeout, never blocks checkout).

Deployment & CI/CD

TriggerWorkflowJobs
Pull request to main.github/workflows/pr-preview.ymltest → deploy-preview
Push to main.github/workflows/main-deploy.ymltest → deploy + firestore rules
ManualBootstrap Admin (workflow_dispatch)Seed Firestore data

Path Filters

CI runs when HTML, CSS, JS, admin, seller, data, config, firestore.rules, or workflow files change. README, docs/, scripts/ skip CI on main.

Cache Busting

Every commit auto-bumps ?v=20260701t in all HTML via pre-commit hook. Ensures fresh JS/CSS (1-hour browser cache).

Current Metrics

MetricValue
Codebase Size~8,977 KB
Product Catalog150+ products
Test Coverage1,161 tests across 20+ suites
Admin Roles3 (super_admin, ops_admin, catalog_admin)
Order Statuses6 stages
Active Sellers4 (Manshurat, Good Tree, Alif, Aariz)
Marketplace Verticals4 (Books, Clothing, Attar, Umrah)
Discount Tiers5 (5–20% based on MRP)
NotificationsTelegram, WhatsApp, Email