Web Application
A full-fledged e-commerce platform with secure checkout, order tracking and Razorpay payments, plus a role-based admin dashboard for inventory and sales analytics.
01Context
A freelance build for a client needing a complete storefront and the admin tooling to run it, not just a checkout page.
02Problem
The client needed to sell online and needed staff to manage inventory, watch incoming orders and see sales trends, without stitching together three separate tools.
03Approach
Build one Next.js application that serves the public storefront and, behind role-based access control, an admin dashboard over the same underlying data.
04Storefront
Product listing, cart, secure checkout and order tracking, with Razorpay handling payment capture.
05Backend & Payments
Auth.js for role-based sessions, and a MongoDB-backed API for products, orders and payment-status reconciliation with Razorpay.
06Admin Dashboard
Lets admins update inventory, watch incoming orders, and view sales broken down yearly, monthly and weekly, alongside other store-management features.
07Challenges
Keeping order and payment state consistent when a Razorpay confirmation arrived after the customer had already navigated away from checkout.
08Decisions
Treated Razorpay's payment webhook as the source of truth for order status, rather than the client-side redirect, so a closed tab couldn't leave an order stuck in a pending state.
Layer 01 / 4
Next.js
Product listing, cart and checkout flow for customers, with server-rendered pages for SEO.
Key features
- Product listing & management
- Secure checkout
- Order tracking
- Razorpay payment integration
- Role-based access control
- Sales analytics (yearly / monthly / weekly)
Result
Delivered as a freelance engagement: a production storefront plus the full admin side a business needs to actually run it, not just a demo checkout flow.
What I'd improve
Add abandoned-cart recovery emails, and move sales aggregation to a scheduled job instead of computing it on each dashboard load.
Next dossier · 01
MAGE