Files
rosmol_shop/docs/tz_sozdano_molodymi.md
T

20 KiB
Raw Blame History

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

на разработку электронной площадки «Создано молодыми» (региональный уровень)

Версия 1.0 · Сентябрь 2026 г.


1. Общие сведения

1.1. Наименование системы: электронная площадка (витрина-маркетплейс) «Создано молодыми» — региональный сегмент федерального проекта поддержки молодых предпринимателей.

1.2. Заказчик: оператор проекта (НКО / региональное отделение Росмолодёжи / ЦМИТ — уточняется).

1.3. Назначение: единая площадка, на которой молодые предприниматели региона размещают товары и услуги, а покупатели их находят, сравнивают и приобретают.

1.4. Цели:

  • снизить порог входа молодых брендов на рынок (витрина + канал продаж);
  • дать жителям региона удобный способ «покупать у своих»;
  • накопить актуальную базу региональных молодых брендов для программ поддержки и офлайн-мероприятий.

1.5. Целевая аудитория:

  • продавцы: самозанятые, ИП, микробизнес в возрасте 14–35 лет, зарегистрированные/производящие в регионе;
  • покупатели: жители региона (B2C), туристы (сувениры), корпоративные заказчики (B2B, этап 3).

1.6. Термины:

  • «Бренд» — профиль продавца на площадке;
  • «Позиция» — карточка товара или услуги;
  • «GMV» — товарооборот, прошедший через площадку.

1.7. Ограничение: площадка — витрина агентского типа. Продавец остаётся продавцом по закону; площадка на этапе 2 выступает агентом по приёму оплаты.


2. Роли пользователей

  1. Гость — просмотр каталога, брендов, подборок без регистрации.
  2. Покупатель — избранное, заказы/заявки, отзывы (после покупки).
  3. Продавец — заявка на участие, кабинет бренда, управление товарами/услугами, заказами, аналитика.
  4. Модератор — проверка заявок брендов и карточек, работа с жалобами, контент-подборки.
  5. Администратор — пользователи, роли, справочники, настройки, финансовые операции (этап 2).
  6. Партнёр (Росмолодёжь) — read-only доступ к сводной аналитике и реестру брендов.

3. Функциональные требования

3.1. Регистрация и верификация продавца (FR-01)

  • Регистрация покупателя: email/телефон, вход через VK ID и «Госуслуги» (если доступно) — этап 2.
  • Регистрация продавца — многошаговая анкета: ФИО, дата рождения, статус (самозанятый/ИП/юрлицо), ИНН, регион/город, ссылки на соцсети, описание деятельности, чек-лист подтверждений (выписка/справка, фото производства).
  • Заявка попадает в очередь модерации. Статусы: «на проверке», «одобрен», «на доработке», «отклонён» с причиной.
  • Критерии одобрения: возраст 14–35 (или команда основателей), регистрация/производство в регионе, соответствие продукции правилам площадки (запрещённая продукция — по реестру).

3.2. Каталог и витрина (FR-02)

  • Каталог с разделами «Товары» и «Услуги»; категории — двухуровневый деревовидный справочник (настраивается админом).
  • Фильтры: категория, цена, город/район, рейтинг, наличие, «новинки», «участники грантов».
  • Поиск: по названию, бренду, категории; нечёткий поиск, подсказки (suggest).
  • Сортировки: популярность, новизна, цена, рейтинг.
  • Карточка позиции: галерея фото (до 10), название, цена, бренд, описание, характеристики, наличие, способы получения (самовывоз/доставка), кнопка «В корзину» / «Записаться» (для услуг).
  • Страница бренда: логотип, обложка, история (до 3000 знаков), регион, соцсети, все позиции, рейтинг, отзывы, знак «Участник проекта Росмолодёжи».

3.3. Корзина, заказы, оплата (FR-03)

  • Этап 1 (MVP): корзина формирует «заявку» — заказ с контактами покупателя, продавец получает уведомление и подтверждает; оплата напрямую продавцу (наличные/перевод/СБП по договорённости). Площадка фиксирует сделку для статистики.
  • Этап 2: онлайн-оплата через платёжный агрегатор (ЮKassa и аналог) по агентской схеме: сплит-платежи, зачисление продавцу за вычетом комиссии, возвраты, чеки (54-ФЗ), реестр выплат в админке.
  • Статусы заказа: «новый», «подтверждён», «оплачен», «собран», «передан в доставку», «выполнен», «отменён», «возврат».
  • Личный кабинет покупателя: история заказов/заявок, избранное, повтор заказа.

3.4. Блок услуг (FR-04)

  • Карточка услуги: формат (онлайн/офлайн), длительность, цена/«от», график доступности.
  • Запись: выбор слота из календаря продавца; продавец подтверждает слот; напоминания за 24 ч.
  • Этап 2: предоплата/депозит через агрегатор.

3.5. Отзывы и рейтинг (FR-05)

  • Отзыв доступен только после подтверждённого заказа (защита от накруток); оценка 1–5 + текст + фото.
  • Рейтинг бренда = среднее оценок позиций; ответ бренда на отзыв.
  • Модерация отзывов: жалоба → проверка модератором.

3.6. Личный кабинет продавца (FR-06)

  • Управление профилем бренда (публикация после модерации изменений).
  • CRUD позиций: черновик → отправка на модерацию → «опубликовано» / «отклонено».
  • Склад: остатки, «под заказ» (срок изготовления).
  • Заказы: лента входящих, смена статусов, чат/контакты с покупателем (этап 1 — контакты в заявке; этап 2 — встроенный чат или переход в Telegram-бот).
  • Аналитика: просмотры, переходы, добавления в избранное, конверсия в заявку/заказ, выручка (этап 2).
  • Уведомления: email + Telegram-бот (подписка по желанию).

3.7. Контент-разделы (FR-07)

  • Подборки и подборки-лендинги к сезонам/событиям («Подарки к 8 марта», «Сделано в районе X») — собираются модератором вручную.
  • Раздел «Истории брендов» (статьи/интервью).
  • Баннерная зона на главной (управляется из админки).
  • Новости проекта и анонсы офлайн-ярмарок с формой заявки на участие.

3.8. Модерация и админка (FR-08)

  • Очереди: заявки брендов, карточки, отзывы (по жалобам), жалобы на товары.
  • Массовые действия, фильтры, назначение ответственного модератора.
  • Справочники: категории, регионы/города, пункты выдачи, запрещённая продукция, комиссии.
  • Пользователи и роли; журнал действий (audit log).
  • Экспорт реестра брендов в XLSX/CSV; read-only дашборд для партнёра Росмолодёжи (FR: отчёт по брендам, регионам, категориям).

3.9. Уведомления (FR-09)

  • Каналы: email (обязательно), Telegram-бот (опционально), push (этап 2).
  • Триггеры: смена статуса заявки/заказа, новый отзыв, напоминание о записи, публикация, итоги модерации.

3.10. Аналитика заказчика (FR-10)

  • Дашборд: число брендов (всего/активных), позиций, заказов, GMV, конверсия, география.
  • Источники трафика (интеграция с Яндекс.Метрикой), воронка каталог → карточка → корзина → заказ.

4. Модель данных (основные сущности)

  • User — id, роль, ФИО, телефон, email, дата рождения, регион, дата регистрации.
  • Brand (SellerProfile) — user_id, название, логотип, обложка, история, статус верификации, статус ИП/самозанятости, ИНН, город, соцсети, рейтинг, знаки («грантополучатель» и т.п.).
  • Category — id, parent_id, название, тип (товар/услуга), порядок сортировки.
  • Product — brand_id, category_id, название, описание, цена, фото[], атрибуты (JSON), остаток, срок изготовления, статус модерации.
  • Service — brand_id, категория, формат (онлайн/офлайн), длительность, цена, слоты расписания.
  • Order / OrderItem — покупатель, бренд(-ы), позиции, сумма, статус, способ получения, адрес/ПВЗ, способ оплаты, комиссия площадки (этап 2).
  • Review — order_id, оценка, текст, фото[], ответ бренда, статус публикации.
  • PickupPoint — название, адрес, часы работы, партнёр (ТЦ/вуз/МИР), активность.
  • ModerationRequest — сущность (заявка/карточка/отзыв), решение, комментарий, модератор, дата.
  • Payout (этап 2) — бренд, период, сумма, комиссия, статус выплаты.
  • Collection — подборка: название, баннер, позиции[], даты публикации.

Хранение медиа — объектное хранилище (S3-совместимое) с CDN; изображения — автоматическая генерация превью (несколько размеров).


5. Интеграции

  1. Платёжный агрегатор (ЮKassa или аналог) — этап 2: платежи, сплит, возвраты, чеки 54-ФЗ, вебхуки.
  2. Логистика — СДЭК API (расчёт доставки, ПВЗ, трек-номера) и/или Почта России — этап 2. Этап 1: самовывоз + «доставка по договорённости».
  3. Telegram-бот — уведомления и (опционально) чат продавец↔покупатель.
  4. Email-сервис (SMTP / Unisender-совместимый API).
  5. Яндекс.Метрика + вебвизор; цели на воронку.
  6. Федеральная площадка «Создано молодыми» — обмен каталогом (API/фид); этап 3, по соглашенованному формату.
  7. СМС — оператор-агрегатор (этап 2, по необходимости).

6. Нефункциональные требования

  • Нагрузка: 5 000 уникальных пользователей/день, до 200 одновременных сессий на MVP; горизонтальная масштабируемость — без ограничений на рост каталога.
  • Доступность: 99,5% в рабочее время; мобильный трафик ≥ 70% — дизайн mobile-first, адаптив 360–1440 px.
  • Производительность: время отклика страниц < 2 с при 95-м перцентиле; LCP < 2,5 с на мобильных.
  • Безопасность и 152-ФЗ: хранение и обработка ПДн на серверах в РФ; согласия на обработку ПДн; разграничение ролей; журнал действий; резервное копирование ежедневно, хранение бэкапов 30 дней; HTTPS везде.
  • SEO: ЧПУ, мета-теги, микроразметка Schema.org (Product, Organization, Review), карта сайта, индексируемые страницы брендов и подборок.
  • Требования к платформе: веб-приложение (адаптив), без нативных приложений на MVP; рекомендуемый стек на выбор подрядчика — например, backend Python (Django/FastAPI) или PHP (Bitrix/1C-Битрикс как готовое ядро), PostgreSQL, React/Vue фронтенд. Готовый движок маркетплейса допускается при соответствии FR.
  • Доступность (a11y): контраст по WCAG AA, alt-тексты, управление с клавиатуры.

7. Требования к дизайну

  • Фирменный стиль: логотип и айдентика проекта «Создано молодыми» (предоставляет заказчик; использование — по соглашению с Росмолодёжью).
  • UI-kit: типографика, цвета, состояния компонентов (кнопки, поля, карточки, бейджи верификации).
  • 2 концепции главной страницы → 1 раунд правок → финальный макет; макеты ключевых страниц: главная, каталог, карточка товара, карточка услуги, бренд, корзина/заявка, кабинет продавца (3–4 экрана), админка (2–3 экрана).
  • Прототип ключевых пользовательских сценариев до отрисовки UI.

8. Этапы разработки и приёмка

Этап 0. Подготовка (2–3 недели): аналитика, прототипы, дизайн-концепция, финальное ТЗ. Приёмка — утверждённые макеты.

Этап 1. MVP (10–12 недель): FR-01, FR-02, FR-03 (заявки без онлайн-оплаты), FR-05, FR-06 (без аналитики продвинутой), FR-07, FR-08, FR-09 (email), FR-10 (базовый дашборд), SEO-база.

Этап 2. Маркетплейс (8–10 недель): онлайн-оплата и агентская модель, доставка (СДЭК), Telegram-бот, аналитика продавца, push, чат, СМС.

Этап 3. Экосистема (по готовности): B2B-витрина, обмен с федеральной площадкой, мобильное PWA, продвинутая аналитика.

Критерии приёмки этапа 1:

  1. Все функции MVP работают по сценариям приёмочного тестирования (UTP — 20+ сценариев: регистрация продавца, модерация, публикация карточки, оформление заявки, отзыв и т.д.).
  2. 0 критических и высоких дефектов; средние — с планом устранения.
  3. Нагрузочное тестирование: 200 одновременных пользователей без деградации.
  4. Пентест-чеклист пройден (OWASP Top 10), уязвимости высокого риска устранены.
  5. SEO-чеклист, адаптив 360/768/1440 px, скорость по п. 6.
  6. Передана документация: админ-инструкция, руководство продавца, схема развёртывания, доступы.

Гарантийная поддержка: 3 месяца с момента приёмки этапа (исправление дефектов бесплатно), далее — SLA-поддержка по отдельному договору.


9. Команда и сроки (ориентир)

  • Продакт/аналитик — 0,5 ставки; дизайнер — 1 на этап 0; backend-разработчик — 1–1,5; frontend — 1; QA — 0,5; координатор контента/модерации — 1 (на стороне заказчика).
  • Общий срок MVP: 3–4 месяца до запуска; этап 2 — +3 месяца.

10. Открытые вопросы к заказчику (блокеры для старта разработки)

  1. Юрлицо-оператор и схема договоров с продавцами (публичная оферта агентская / договор оказания услуг).
  2. Размер комиссии площадки (для этапа 2) и модель выплат.
  3. Соглашение о бренде «Создано молодыми» и доступ к федеральному API/фиду.
  4. Хостинг: собственный / облако в РФ (требование 152-ФЗ) — бюджет на инфраструктуру.
  5. Кто наполняет контент на старте (30–50 брендов) — ответственный со стороны заказчика.