
Машук Express: маркетплейс с продавцами, доставкой и выплатами
Перейти к продуктуЗадача
Что требовалось построить
Задача звучала не как «сделайте сайт с товарами». Нужна была торговая площадка: с чужими продавцами, деньгами, доставкой и документами.
Маркетплейс отличается от магазина именно этим. Товар выкладывает не владелец площадки, а сторонний продавец, значит нужен его кабинет и модерация карточек. Дальше начинаются деньги: покупатель платит один раз за всю корзину, а сумму надо развести между несколькими продавцами и площадкой. Плюс доставить, выдать чек и принять возврат, потому что отвечает перед покупателем площадка.
Писали с нуля. Коробки, в которую это укладывается, не нашлось.
Решение
Что сделали
Площадку собрали модулями, каждый закрывает свой кусок работы:
- каталог и карточки - товары, категории, характеристики, галереи, избранное;
- корзина и заказы - собираем заказ из товаров разных продавцов, ведём статусы и историю покупок;
- кабинет продавца - заводит товары, видит свои заказы, оформляет витрину магазина;
- деньги - платим через Т-Банк с мультисплитом: один платёж покупателя сам делится между продавцами и площадкой;
- документы - чеки уходят через API ФНС;
- доставка - СДЭК, пункт выдачи выбирается на карте;
- уведомления - почта и пуши, когда меняется статус заказа или отвечает продавец;
- админ-панель - модерируем товары и продавцов, ведём справочники, разбираем спорные заказы.
Отдельно вынесли поиск по смыслу. Свой сервис эмбеддингов на BERT считает векторы описаний, они лежат в Qdrant. Поэтому запрос вроде «что надеть на пробежку в холод» находит товары, где этих слов нет вообще.
Стек: Django и PostgreSQL на сервере, Next.js на витрине, Redis под кэш и очереди, Яндекс.Карты для адресов. Поднимается docker-compose вместе с векторной базой и сервисом эмбеддингов.
Результат
Что сейчас
Маркетплейс работает. Продавцы заводят товары, покупатели оформляют заказы с доставкой, деньги расходятся сами.
Проект в постоянной разработке, мы ведём его дальше: добавляем функции, чиним, обновляем. Оборот и число продавцов площадка не раскрывает, поэтому цифр в кейсе нет.


Расскажите, что вам нужно.
Отвечаем в течение 5–15 минут в рабочие часы. Поможем выбрать продукт и соберём тариф под задачу — без навязывания лишнего.