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.

Architecture

Project Architecture

The eKart Backend serves as the central application layer, receiving requests from both the customer-facing frontend and the admin dashboard. It persists application data in MongoDB, uses Redis for caching and queue management, stores product images in Cloudinary, and delegates all payment operations to a standalone Payment Orchestration Engine. Background tasks such as email delivery are processed asynchronously by a dedicated BullMQ worker.

Project Links

Screenshots

Home Page
Home Page
Product Details
Product Details
Shopping Cart
Shopping Cart
Checkout
Checkout
Orders
Orders
Order Management
Order Management
Product Management
Product Management
Analytics
Analytics

Tech Stack

Frontend

ReactZustandTanStack Query

Backend

Node.jsExpress.jsBullMQ

Database

MongoDBRedis

Integrations

Payment Orchestration EngineEmail Worker ServiceCloudinary

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 standalone Payment Orchestration Engine
Order history with real-time status tracking
Email notifications via Nodemailer for order confirmations, processed asynchronously through a BullMQ messaging queue

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)
Secure webhook verification with Payment Orchestration Engine (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

Backend & Infrastructure

Modular domain-driven architecture
Asynchronous email processing with BullMQ workers
Redis-powered caching and API rate limiting
Dockerized deployment with Compose
Interactive API documentation via OpenAPI/Swagger