Skip to content
Full-Stack Developer

Projects/shopenup

Professional / Company project

Shopenup

Headless e-commerce platform with Indian payments, pincode shipping, and merchant-approved fulfillment.

A headless commerce system: Next.js storefront plus a Shopenup backend for catalog, checkout, COD, Shiprocket, and admin operations. Customers buy by region and pincode; staff accept orders, ship, and take returns through the same order pipeline.

  • React
  • Next.js
  • Node.js
  • PostgreSQL
  • REST APIs
  • TypeScript
  • Shopenup
  • Tailwind CSS
  • Razorpay
  • Cashfree
  • Shiprocket

E-commerce · Headless · Payments · Logistics · Shopenup

Overview

Shopenup is a two-app commerce product: a React/Next.js storefront and a Node.js Shopenup API on PostgreSQL. Core commerce (cart, order, inventory, promotions) is the framework; this implementation adds Shiprocket fulfillment, Razorpay/Cashfree/COD, merchant approval, extended product details, appointments, CMS, and email/SMS.

Problem

A retailer needs a real store—not a brochure site—with location-aware stock, Indian payment methods including COD, courier integration, staff control before shipping, and content around the catalog.

Solution

Headless Shopenup: storefront talks REST to commerce modules; custom providers and subscribers implement COD advance, Shiprocket rates/webhooks, approval gating, returns, and notifications. Admin dashboard plus custom widgets/APIs run merchandising and ops.

Key features

  • Region-priced catalog with category/collection filters and header product search
  • Extended product details (ingredients, usage, precautions, certifications)
  • Pincode serviceability and nearest-warehouse availability
  • Cart, promo codes, and buy-get offer badges
  • Checkout with Razorpay, Cashfree, and cash on delivery
  • Configurable COD advance fee and admin capture of remaining cash
  • Merchant accept/decline before fulfillment
  • Shiprocket forward shipping, tracking, and reverse returns
  • Wishlist, reviews, order history, and invoice PDF on delivery
  • Doctor appointment booking with email confirmations
  • Blogs, about CMS, contact, newsletter, WhatsApp chat link
  • Admin analytics, low-stock alerts, and transactional email/SMS

Technical challenges

Problem

COD is neither full prepaid nor unpaid: a configurable advance may be charged up front and the rest collected later.

Approach

Store metadata holds cod_advance_amount. Checkout adds a non-fulfillable COD fee line and uses the manual payment provider; admin captures remaining on the payment collection after cash is received.

Problem

Stock and courier coverage depend on pincode and warehouse, not a single national pool.

Approach

Availability and fulfillment-options resolve the nearest stock location, then either Shiprocket serviceability/rates or that location’s manual shipping mode.

Problem

Staff must be able to refuse a storefront order before a courier label is created.

Approach

order.placed stamps merchant_approval_status=pending; accept/decline admin APIs gate fulfillment and cancel on decline.

Problem

Forward delivery and customer returns both need courier state, not only an internal order status.

Approach

Shiprocket webhooks update fulfillments; returns persist AWB and payloads in shiprocket_returns when admin accepts a return.

Problem

Customers in different countries should see the right currency while checkout still leans on Indian rails.

Approach

IP/geo maps to admin regions for catalog/cart currency; pincode shipping and several payment paths remain INR-oriented.

What this demonstrates

A production-shaped headless commerce product: dual apps, custom payment/fulfillment providers, webhook-driven shipping, approval workflow, and ops notifications—not a CRUD catalog demo.