e-Hanout - Web project Morocco
E-commerce Marketplace Delivery Django / Flutter

e-Hanout

An innovative Moroccan marketplace bringing together local merchants and artisans, offering a wide range of products with fast ordering and delivery services across Morocco.

View website ↗

Challenge

Build a complete Moroccan marketplace enabling local merchants and artisans to sell online through a non-technical-friendly interface, while delivering buyers a smooth experience and national delivery. The chosen tech stack is deliberately non-standard - Django on the backend and Flutter on mobile - without an off-the-shelf CMS, to retain full control over the product and its roadmap.

The stake: build a tool that genuinely democratises e-commerce for Moroccan merchants who have no developer, no technical expertise, no Shopify budget. The vendor interface had to enable self-service onboarding, stock and order management in a few clicks, seasonal offers, and clear revenue tracking. On the buyer side: native iOS/Android mobile app, local payments (CMI, cash on delivery) and real-time tracking.

Solution

I built the marketplace platform in Django, with a dedicated vendor back-office covering inventory, catalogue, orders and promotions. The interface is deliberately stripped down to flatten the learning curve for non-technical merchants.

The Flutter mobile app for buyers (iOS and Android) consumes a unified REST API connecting web, mobile and logistics partners. The API was designed to scale and to support future clients (web, partner dashboards, external integrations).

Multi-gateway payment integration calibrated for Morocco: card via CMI, cash on delivery, and architecture ready for mobile wallets (Cash Plus, M-Wallet). Real-time order tracking for both buyers and merchants. Mobile-first design aligned with Moroccan consumer habits: category navigation, performant search, photo-centric product pages, persistent cart.

Vendors benefit from a guided onboarding flow that takes them from account creation to first sale without human intervention.

Results

Marketplace delivered with its two complementary faces: a Django web back office for vendors and a Flutter buyer app published on iOS and Android, both served by a single unified REST API.

The project's success criterion was ergonomic rather than technical: letting a merchant with no technical skills create an account, publish products and take a first sale without human assistance. The guided onboarding was designed and reworked to that end, and it is the part of the product that required the most iteration - well ahead of the more conventional buyer side.

The decision to build a custom stack, Django and Flutter rather than an off-the-shelf CMS, was deliberate from the start. It costs more to build than a Shopify or WooCommerce setup, but it keeps the product roadmap entirely open and avoids the customisation ceiling of a packaged solution, which was the founder's explicit requirement.

CMI payment and cash on delivery are operational, order tracking runs in real time for both buyers and sellers, and the architecture is ready to take on mobile wallets and new API clients without a rebuild.
🔗 Service related to this project: → E-commerce Website Development Morocco

Similar projects

View all my projects

Similar project in mind?

Amine Aziz - freelance web developer in Morocco. Contact me for a free quote within 24h.