Achyut Thapa
← All work

Zedfo

Multi-vendor e-commerce platform

Role
Full-Stack Developer
Domain
Full-Stack / E-commerce / Marketplace

Overview

A multi-vendor marketplace built to support multiple store registrations, product listings and order management.

The product

Zedfo home pageProduct screenshot
zedfo.com home page, captured from the live site.

The problem

A marketplace is several products sharing one system. Stores manage their own catalogues and orders, administrators oversee the whole platform, and inventory and order status change constantly while people are looking at them.

What I built

  1. Architected a scalable multi-vendor marketplace supporting multiple store registrations, product listings and order management.
  2. Implemented event-driven architecture using Kafka and background job processing with BullMQ for high-throughput operations.
  3. Built real-time inventory and order updates using WebSockets and Socket.io.
  4. Developed separate Admin and Store dashboards with role-based access control.
  5. Designed a modular backend structure using Bun.js and Elysia.js.

System

Interfaces
Application
Events, jobs & live updates
Data

Select a component to trace its connections.

A simplified schematic of the components named in this project, not a deployment diagram. Connections show responsibility, not exact network topology.

Technical decisions

Events and jobs outside the request

Kafka carries events and BullMQ runs background jobs, so slower work doesn't have to happen inside the request that triggered it.

Two dashboards, two scopes

Admin and Store dashboards are separate, with role-based access control defining what each kind of user can reach.

A modular backend

The Bun.js and Elysia.js backend is structured in modules, keeping a multi-domain system organised as it grows.

Live state over refreshes

Inventory and order changes are pushed over WebSockets and Socket.io instead of waiting for a page reload.

Engineering considerations

  • Keeping store data and permissions properly separated in a multi-vendor system.
  • Coordinating work across the API, Kafka, BullMQ workers and live connections.

Stack

Bun.jsElysia.jsDrizzle ORMKafkaBullMQSocket.ioWebSocketsReactStyled Components