Back to Home

About eKart

eKart is a full-stack ecommerce platform built as three independent applications working together through a centralized backend API.

Customer Store

Browse products, manage carts and wishlists, securely place orders, and track purchases.

Admin Dashboard

Manage products, inventory, orders, and business analytics from a dedicated administration panel.

Backend API

Handles authentication, payments, business logic, database operations, and third-party integrations.

Project Links

Screenshots

Home Page
Home Page
Product Details
Product Details
Shopping Cart
Shopping Cart
Checkout
Checkout
Orders
Orders
Admin Dashboard
Admin Dashboard
Product Management
Product Management
Analytics
Analytics

Tech Stack

Frontend

ReactViteReact Router

State & Data

ZustandTanStack Query

Backend

Node.jsExpress.js

Database

MongoDBMongooseRedis

Security

JWTbcrypt

Integrations

RazorpayCloudinaryNodemailer

Tools

DockerOpenAPI/Scalar

Key Features

Customer Experience

Product search, filtering by category/price, and sorting
Product details with image galleries (Cloudinary-hosted)
Persistent cart and wishlist across sessions
Checkout flow integrated with Razorpay payment gateway
Order history with real-time status tracking
Email notifications via Nodemailer for order confirmations

Admin Operations

Product and category CRUD with stock management
Shipping status management (Pending → Packed → Shipped → Delivered) with admin-controlled updates and user-initiated cancellation
Low stock alerts on dashboard
Revenue analytics with monthly trends and top-product rankings
Role-based access control for admin actions

Security & Reliability

JWT access + refresh tokens (httpOnly cookies, auto-rotation)
Server-side Razorpay signature verification (no client-trust)
Idempotency checks on payment routes to prevent duplicate charges
Transaction-safe stock reduction with automatic reversal on order cancellation
Snapshot-based order items — preserves price/details at time of purchase even if product changes later
Rate limiting on payment endpoints
Request validation via Joi, security headers via Helmet