Маркетплейс, где объявление подаётся в боте, а витрина живёт на сайте
Продавец заполняет карточку прямо в Telegram и прикладывает видео. Модератор жмёт одну кнопку. Объявление уходит в канал и на сайт одновременно. Одна база, три точки входа.
Объявления жили в переписке
− Что было
Продавцы скидывали описание товара сообщениями в свободной форме. Половина карточек приходила без ключевых характеристик, и админ доспрашивал их руками. Публикация в канал делалась копипастом. Поиска нет, история теряется в ленте.
+ Что нужно было
Единая форма подачи, которая не даст пропустить поле. Модерация в один клик. Витрина с поиском и карточками, чтобы товар можно было найти, а не пролистывать канал.
Что построено
Пошаговая форма в боте вместо свободного текста
Подача объявления разбита на десять шагов с валидацией на каждом: числовые характеристики, выбор из вариантов кнопками, цена, привязка аккаунта. Пропустить поле нельзя, карточка просто не соберётся. На выходе все объявления единого формата.
Видео с проверкой лимитов
К карточке прикладывается ролик до 250 МБ и 5 минут, бот проверяет размер и длительность до загрузки, а не после. Фото не принимаются намеренно: в этой нише они ничего не доказывают, а видео доказывает.
Модерация в один клик
Новая карточка падает админу с кнопками. Одобрил, объявление уходит в канал и появляется на сайте из той же записи в базе. Дублировать вручную ничего не нужно.
Витрина на Next.js
Сайт с каталогом и страницей объявления, данные тянет из общего API. Бэкенд FastAPI обслуживает и бота, и фронт. Одна модель данных, никакой рассинхронизации между "что в канале" и "что на сайте".