Case study / Full-stack commerce application
VKart
A full-stack shopping application that connects product discovery, authentication, payments, order tracking, and admin operations in one experience.

01 / Overview
A connected commerce flow.
VKart brings together the customer-facing shopping experience and the operational tools needed to manage a catalogue. The interface covers product discovery, account access, checkout, and order tracking, while the admin area supports products, stock, and orders.
02 / Contribution
From interface to database.
I designed and built the application across the interface, API, database, authentication flow, and payment integration. The work is organized around clear product flows so a feature can move from a customer action to an operational response.
03 / Product flow
Three surfaces, one system.
Discover
Browse the catalogue and use instant keyword search to find relevant products with real-time stock levels.
Purchase
Move through authentication, secure Stripe checkout, and automated order confirmation with PDF invoice delivery.
Operate
Admin operators manage catalogue items, stock quantities, payments, and fulfillment stages from a protected dashboard.
04 / Architecture & Data Flow
Decoupled, modular stack.
A responsive React and Tailwind frontend communicates with a modular Node.js and Express REST API. MongoDB stores document collections for products, customers, and order history, while Stripe processes transactions through signed webhooks.
05 / Engineering Challenge
Idempotent order reconciliation.
To prevent duplicate orders during client disconnects or webhook retries, Stripe session IDs and payment intent events are verified with cryptographic signatures and recorded with idempotent database transactions before adjusting inventory.
06 / Interface details
Designed to be explored.




07 / Next iteration
Continuous optimization.
The next roadmap includes edge caching for product listings, Elasticsearch integration for complex faceted filters, and automated end-to-end checkout testing with Playwright.
Discuss the work