Wahed Nur

Own business · eCommerce platform · Live

ekhaneikini.com

A full online store: storefront, admin dashboard, backend API and a mobile order app, built as one connected system.

ekhaneikini.com home page with search, category banners and a shop-by-category section

Context

ekhaneikini.com is my own online store. It started in 2016 and I rebuilt it as a custom platform. Two groups use it: shoppers on the website and mobile, and the owner and staff who run orders, stock and delivery.

The problem

The parts of an online store depend on each other. A product's stock decides what can be sold at checkout, checkout creates an order, the order drives payment and delivery, and all of it feeds reports. I wanted these to work as one system built around how the store really operates.

My role

Sole developer, and the owner of the business. I designed the data model and business rules, built the backend API, the storefront, the admin dashboard and the mobile app, and I run the store.

What I built

  • Catalog with nested categories, product variations (size, color) and reusable product-type specification templates.
  • Cart, guest checkout and member checkout, with Cash on Delivery and online payment through SSLCommerz, plus payment retry.
  • Order status workflow with courier consignments (Steadfast) and return handling.
  • Inventory ledger where every stock change is a recorded movement.
  • Admin dashboard for products, stock, orders, customers and reports, with permission-based access.
  • Customer CRM, notifications and marketing source tracking (website, Facebook, WhatsApp).
  • Offline-first mobile order app built with Flutter.
  • AI features that work only from the store's own data: product questions, AI-assisted search, draft descriptions and SEO text, comparison summaries and suggested replies for staff.

Key workflow

A customer

  1. Browses a category and picks a variation
  2. Adds to cart and checks out as a guest or with an account
  3. Pays by Cash on Delivery or online
  4. Tracks the order status

The store team

  1. Reviews and confirms the order
  2. Creates the courier consignment
  3. Follows delivery, or handles a return
  4. Reads stock and sales reports

Why this stack

Django REST Framework
Keeps business rules and permissions in one backend that the website, admin and mobile app all use.
PostgreSQL
Orders, stock and payments are relational data that must stay consistent.
Redis and Celery
Background work such as courier consignments and notifications runs outside the request.
Next.js
A fast, search-friendly storefront.
React and Vite
A separate admin dashboard for staff.
Flutter
A mobile order app that keeps working with poor connectivity.

Challenges and decisions

Stock that can be trusted

Stock is never edited directly. Every change goes through a stock movement record, so any number can be explained from its history.

Access without hardcoded roles

Staff access is controlled by a permission system rather than role checks scattered through the code. Sensitive data such as buying prices is restricted in the API and the admin.

Offline orders without duplicates

The mobile app can create orders offline. Each order carries a client reference so a retried sync does not create the same order twice.

AI that cannot invent facts

Every AI answer is built from database rows. Price, stock and warranty are shown by the system, not written by the model. Draft content is saved as a draft for a person to approve, staff replies are suggested but sent by a person, and a template fallback runs if the AI provider is unavailable.

Guest customers keep their history

Guest orders are linked to a customer's phone number, so past orders appear when that customer later signs in.

Current status

Live. Customers can order today, and I keep adding features.

Limits

  • No sales or traffic figures are published here.
  • I am the only developer, so the roadmap moves at the pace of one person.
  • The AI features are built and tested in the platform. A shopping assistant on Messenger and WhatsApp is still a plan.

Have a project in mind?

Tell me what the business needs. I will reply with an honest view on scope and whether I am the right person for it.

Discuss your project