Версия: 2.0.0
Дата: 2026-03-23
Принцип: каждая фаза — рабочий продукт, тестируемый на реальном сервере
[1] ФУНДАМЕНТ Drupal + Bootstrap + ideal_theme (пустой)
↓ ✓ сайт открывается, тема подключена
[2] FREE Контент-сайт без Commerce
↓ ✓ страницы, меню, блог, мобайл
[3] BASE КАТАЛОГ Commerce + товары + категории + фильтры
↓ ✓ каталог работает, можно смотреть товары
[4] BASE CHECKOUT Корзина + оформление заказа (без оплаты)
↓ ✓ заказ создаётся, email уведомление
[5] ИНТЕГРАЦИИ RU ЮKassa + СДЭК + VK + Яндекс OAuth
↓ ✓ реальная оплата, выбор ПВЗ, вход через VK
[6] PROF PostgreSQL + pg_trgm + 1С + улучшенный поиск
↓ ✓ синхронизация 1С, поиск до 30к товаров
[7] ФИЧИ Wishlist + отзывы + промокоды + quick view
↓ ✓ каждая фича независимо тестируется
[8] CORP Elasticsearch + мультисайт + белый лейбл
↓ ✓ 3 сайта на одном Drupal, поиск 30к+
[9] РЫНОК EEU Robokassa + СДЭК EEU + Telegram OAuth
↓ ✓ оплата и доставка в СНГ
[10] РЫНОК EU/NA Stripe + DHL + Google/Apple OAuth + GDPR
↓ ✓ международные заказы
Рецепт: ideal_start_free
Результат: Drupal CMS запущен, ideal_theme подключена
| Задача | Рецепт / команда |
|---|---|
| Drupal CMS установка | composer create-project drupal/cms |
| Bootstrap Barrio подключить | drush recipe ideal_theme_base |
| ideal_theme дочерняя тема | drush recipe ideal_theme_tokens |
| Layout Builder регионы | drush recipe ideal_theme_layouts |
| Базовая конфигурация | admin, cron, файловая система |
[ ] Сайт открывается по домену
[ ] Тема ideal_theme активна
[ ] Мобильная версия корректна (Bootstrap grid)
[ ] Admin панель работает
[ ] Performance: Lighthouse > 90
Рецепт: ideal_start_free + контент
Результат: полноценный контент-сайт без Commerce
| Задача | Описание |
|---|---|
| Главная страница | Hero + преимущества + CTA |
| Страница "О нас" | Текст + фото |
| Контакты | Форма + карта (Яндекс / OSM) |
| Блог | Список + карточка + статья |
| Меню | Шапка + футер + мобильное |
| SEO базовое | Meta, sitemap, robots.txt |
| Форма обратной связи | Email уведомление |
[ ] Главная: все блоки отображаются
[ ] Блог: список → статья → назад
[ ] Контакты: форма отправляет email
[ ] Меню: работает на мобиле (бургер)
[ ] SEO: sitemap.xml доступен
[ ] Скорость: FCP < 1.5s
Рецепт: ideal_start_base + ideal_shop_core + ideal_shop_catalog
База: MariaDB
Результат: каталог товаров с фильтрами, без покупки
| Задача | Описание |
|---|---|
| Commerce 3 установка | Магазин, валюта ₽ |
| Тип товара | Название, цена, фото, описание |
| Варианты товара | Размер, цвет, объём |
| Категории | Дерево категорий |
| Каталог (View) | Сетка карточек + список |
| Фильтры | Facets + Search API: цена, категория, бренд |
| Карточка товара | Галерея, описание, характеристики |
| Поиск | Search API + MariaDB |
| Хлебные крошки | Навигация |
| Пагинация | Бесконечная + классическая |
[ ] Каталог: 20+ товаров отображаются
[ ] Фильтры: работают без перезагрузки (AJAX)
[ ] Карточка: галерея, вариант меняет цену
[ ] Поиск: находит по названию
[ ] Хлебные крошки: корректны
[ ] Мобиль: фильтры как drawer
Рецепт: ideal_shop_core (checkout flow)
Результат: полный цикл покупки, оплата наличными/при получении
| Задача | Описание |
|---|---|
| Корзина | Добавить, изменить, удалить |
| Mini-cart | Выпадающий в шапке |
| Checkout шаг 1 | Контакты: имя, телефон, email |
| Checkout шаг 2 | Доставка: адрес / самовывоз |
| Checkout шаг 3 | Оплата: наличные / при получении |
| Checkout шаг 4 | Подтверждение + страница спасибо |
| Email заказ | Покупателю + менеджеру |
| Личный кабинет | История заказов |
| Регистрация | Email + пароль |
| Гостевой checkout | Без регистрации |
[ ] Добавить товар → в корзине
[ ] Mini-cart обновляется без перезагрузки
[ ] Checkout: пройти все 4 шага
[ ] Заказ создан в admin
[ ] Email получен покупателем и менеджером
[ ] Гостевой checkout: заказ без регистрации
[ ] Личный кабинет: заказ отображается
Рецепты: ideal_shop_yukassa + ideal_shop_cdek + OAuth
Результат: реальные платежи, реальная доставка, социальный вход
| Интеграция | Задача |
|---|---|
| ЮKassa | Оплата картой + СБП + SberPay |
| СДЭК | Виджет ПВЗ + расчёт стоимости + трекинг |
| VK ID | OAuth вход |
| Яндекс ID | OAuth вход |
| Telegram Login | OAuth вход |
| SMS.ru | SMS при создании заказа |
| Unisender | Email рассылки + транзакции |
| Яндекс.Метрика | Аналитика + e-commerce цели |
| DaData | Подсказки адресов |
[ ] ЮKassa: тестовая оплата проходит
[ ] ЮKassa: webhook обновляет статус заказа
[ ] СДЭК: виджет показывает ПВЗ на карте
[ ] СДЭК: стоимость рассчитывается по адресу
[ ] VK OAuth: вход работает
[ ] SMS: приходит при создании заказа
[ ] Метрика: purchase событие фиксируется
[ ] DaData: адрес подсказывается при вводе
Рецепты: ideal_start_prof + ideal_shop_1c + ideal_shop_elastic (pg_trgm)
База: PostgreSQL
Результат: синхронизация с 1С, нечёткий поиск до 30к товаров
| Задача | Описание |
|---|---|
| PostgreSQL миграция | Переезд с MariaDB |
| pg_trgm | Нечёткий поиск, исправление опечаток |
| Синхронизация 1С | Товары, остатки, цены → сайт |
| Синхронизация 1С | Заказы, клиенты → 1С |
| Автокомплит поиска | Подсказки при вводе |
| Синонимы поиска | "телефон" = "смартфон" |
[ ] Поиск: "тилевизор" находит "телевизор" (опечатка)
[ ] 1С: новый товар появляется на сайте через N мин
[ ] 1С: заказ с сайта появляется в 1С
[ ] 1С: остаток 0 → кнопка "нет в наличии"
[ ] pg_trgm: поиск работает на 30к+ товарах < 1s
Рецепты: ideal_shop_reviews + ideal_shop_wishlist + ideal_shop_promo
Результат: модульные фичи, каждая тестируется независимо
| Рецепт | Фича | Тест |
|---|---|---|
ideal_shop_wishlist |
Кнопка ♥, список избранного | Добавить → список → в корзину |
ideal_shop_reviews |
Отзывы + рейтинг 1-5 звёзд | Написать отзыв → модерация → публикация |
ideal_shop_promo |
Промокод в корзине | Ввести → скидка применилась |
| — | Quick view | Клик → popup с товаром |
| — | Уведомление о наличии | Подписка → email при поступлении |
| — | Похожие товары | Блок на карточке товара |
| — | Недавно просмотренные | Cookie → блок |
[ ] Wishlist: ♥ добавляет без перезагрузки
[ ] Wishlist: сохраняется после выхода и входа
[ ] Reviews: отзыв проходит модерацию
[ ] Reviews: рейтинг отображается в Schema.org
[ ] Promo: WELCOME10 даёт -10%, SALE20 даёт -20%
[ ] Promo: истёкший промокод → понятная ошибка
[ ] Quick view: ESC закрывает, товар добавляется
Рецепт: ideal_start_corp
База: PostgreSQL
Поиск: Elasticsearch
Результат: 3 магазина на одном Drupal, мощный поиск
| Задача | Описание |
|---|---|
| Elasticsearch | Установка + Search API connector |
| Индексация | Все товары в индекс |
| Автокомплит | Мгновенные подсказки |
| Facets на Elastic | Фильтры с подсчётом |
| Drupal multisite | 3 сайта: pirofey, feyerverk, gipir |
| Общий каталог | Товары из одной БД |
| Разные темы | Sub-theme A, B, C |
| Белый лейбл | Убрать "ideal_theme" брендинг |
[ ] Elastic: поиск работает на 30к+ товарах
[ ] Elastic: автокомплит < 100ms
[ ] Multisite: сайт A, B, C открываются на разных доменах
[ ] Multisite: общий каталог, разные цены
[ ] Белый лейбл: нет упоминания ideal_theme в HTML
Результат: продажи в Беларусь, Казахстан, Узбекистан
| Задача | Описание |
|---|---|
| Robokassa | Оплата карты СНГ |
| СДЭК EEU | Доставка в СНГ |
| Мультивалюта | BYN, KZT (через $ курс) |
| VK ID | Уже есть |
| Telegram Login | Уже есть |
| Checkout | Поля адреса под СНГ |
[ ] Оплата Robokassa: тестовый платёж из BY
[ ] СДЭК: расчёт до Минска
[ ] Валюта: цена показывается в BYN
Результат: международные продажи
| Задача | Описание |
|---|---|
| Stripe | Карты Visa/MC международные |
| DHL | Доставка в EU/NA |
| Google OAuth | Вход через Google |
| Apple ID | Вход через Apple |
| GDPR | Cookie consent, Privacy Policy |
| Мультиязычность | EN, DE, FR (i18n) |
| Мультивалюта | USD, EUR |
| Checkout EU | VAT поле, postcal code |
| Checkout NA | State, ZIP |
| Brevo | Email EU (GDPR compliant) |
[ ] Stripe: тестовый платёж карта US
[ ] DHL: расчёт доставки в Германию
[ ] GDPR: cookie banner при первом входе
[ ] i18n: переключение EN/RU
[ ] Checkout EU: поля корректны
| Фаза | Что получаем | Можно продавать? |
|---|---|---|
| 1 | Drupal + тема | — |
| 2 | Контент-сайт FREE | FREE тариф ✓ |
| 3 | Каталог товаров | — |
| 4 | Полный заказ (без оплаты) | BASE (наличные) ✓ |
| 5 | Реальные платежи RU | BASE полный ✓ |
| 6 | PostgreSQL + 1С + поиск | PROF ✓ |
| 7 | Фичи (wishlist, отзывы) | BASE+ / PROF ✓ |
| 8 | Elasticsearch + мультисайт | CORP ✓ |
| 9 | Рынок СНГ | EEU ✓ |
| 10 | Рынок EU/NA | Мировой ✓ |
← Назад | Рецепты → | Рынки → | Лицензии →