Zedfo
Multi-vendor e-commerce platform
- Role
- Full-Stack Developer
- Domain
- Full-Stack / E-commerce / Marketplace
- Links
- Live site ↗
Overview
A multi-vendor marketplace built to support multiple store registrations, product listings and order management.
The product
Product screenshotThe 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
- Architected a scalable multi-vendor marketplace supporting multiple store registrations, product listings and order management.
- Implemented event-driven architecture using Kafka and background job processing with BullMQ for high-throughput operations.
- Built real-time inventory and order updates using WebSockets and Socket.io.
- Developed separate Admin and Store dashboards with role-based access control.
- Designed a modular backend structure using Bun.js and Elysia.js.
System
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.