02 · Telegram Mini App, бот и админка · 2026

Design Market

Маркетплейс предметов интерьера внутри Telegram: подача объявления, модерация, бронь и публикация в канал — без перехода в браузер.

Роль Фронт, бэкенд, инфраструктура
Срок 9 недель
Масштаб Больше тысячи позиций, десятки продавцов
Стек FastAPI · aiogram 3 · PostgreSQL · Celery + Redis · React

Задача

Люксовый интерьер продают фотографией и репутацией продавца, а не фильтром по цене. Товары жили в личных аккаунтах и таблицах: покупатель не мог сравнить два предложения, продавец — понять, что смотрели.

Нужна была витрина, где кадр крупный, сетка спокойная, а страница категории открывается мгновенно — даже когда позиций тысячи.


Что сделано
01

Каталог и поиск

Категории, эпохи, материалы и дизайнеры. Поиск понимает морфологию: «латунные бра» находят «бра из латуни».

02

Кабинет продавца

Загрузка карточек пачкой, черновики, статистика просмотров и обращений по каждой позиции.

03

Модерация

Очередь с причинами отказа и историей правок: в люксе за качество карточки отвечает площадка, а не продавец.

04

Заявка на подбор

Покупатель описывает задачу словами — заявка уходит подходящим продавцам, ответы собираются в одном месте.

Как это начиналось
designmarket.example/catalog/light
Design Market СветМебельКоврыДекор
Свет 312 позиций · сначала новые
Бра Serge Mouille, 1950-е 184 000 ₽
Люстра Sciolari, латунь 470 000 ₽
Торшер Arredoluce 610 000 ₽
Настольная Fontana Arte 295 000 ₽
Страница категории: крупный кадр, спокойная сетка, цена и происхождение — всё, что решает в этом сегменте.

Инженерные решения
01

Каталог как статика

Страницы категорий и карточек генерируются заранее и переиндексируются по событию «карточка прошла модерацию». Категория открывается за доли секунды и не зависит от нагрузки на базу.

02

Фотография в трёх размерах

Продавец грузит исходник на 20 мегапикселей — на выходе три обрезки в AVIF и WebP с сохранённой пропорцией. Мобильный трафик каталога упал в несколько раз, кадр остался крупным.

03

Поиск по русской морфологии

Полнотекстовый индекс PostgreSQL со словарём и синонимами предметной области: «ар-деко» и «арт-деко» ведут в одну выдачу, а имена дизайнеров не разваливаются по падежам.

Результат

Каталог, который открывается быстрее, чем покупатель успевает передумать.


Похожая задача? Расскажите одним сообщением.