Брест, ул. Луцкая, 82

Changelog

Release notes платформы ipd.by — Smarty→Laravel миграция, контент-миграция, инфраструктурные изменения, VDS, Cloudflare

v4.22.2 08.08.2026

Услуги, путь клиента: карточки «Как устроен формат» и «Чем IID лучше» переведены с нессылочных карточек на нумерованную инфографику 01–04, в конец /services/iid добавлены кейсы по IID-пути (Бобер Боб, Медтехника Гродно)

Доработка страницы /services/iid по замечаниям Алексея к Заданию 88 «Услуги, путь клиента». По словам Алексея дизайн и путь клиента конфликтовали: блоки «Как устроен формат» и «Чем IID лучше классического подхода» были свёрстаны как некликабельные карточки (service-card со стилем кликабельных), из-за чего человек инстинктивно хотел их нажать, но переходов не было — путь клиента «1, 2, 3, оплата» визуально не читался. Исправление: оба блока переведены на стандарт нессылочной инфографики .benefits/.benefit-item/.benefit-num (номера 01–04, без тени, стрелки, подъёма и hover — блок не выглядит ссылкой), нумерация показывает структуру пути клиента: 01 спецификация вместо ТЗ → 02 прототип до вложений → 03 продукт до полной оплаты → 04 оплата за принятый результат. В конец страницы добавлен блок «Кейсы: компании работают по этому пути» с двумя кликабельными кейс-карточками: Бобер Боб (images/page/cases/bober-bob/bober-bob.png → /cases/bober-bob) и Медтехника Гродно (images/page/cases/saas-medtech/saas-medtech.webp → /cases/saas-medtech) — по словам Алексея «Бобер Боб, может, и уже Медтехника Гродно по этому пути работают». Версия поднята до 4.22.2.

Что изменено

  • /services/iid «Как устроен формат: вы видите результат до вложений» — resources/views/pages/services/iid.blade.php: блок из 4 некликабельных service-card заменён на .benefits/.benefit-item/.benefit-num (01–04) — путь клиента 1→2→3→оплата (спецификация вместо ТЗ → прототип до вложений → продукт до полной оплаты → оплата за принятый результат, остановка после любого этапа без штрафов)
  • /services/iid «Чем IID лучше классического подхода» — resources/views/pages/services/iid.blade.php: 4 некликабельные service-card заменены на .benefits/.benefit-item/.benefit-num (01–04) — нессылочная инфографика не выглядит ссылкой
  • /services/iid «Кейсы: компании работают по этому пути» — resources/views/pages/services/iid.blade.php: добавлен блок кейсов в конце страницы (перед финальным CTA «Обсудить проект») — кликабельные service-card со ссылками на /cases/bober-bob и /cases/saas-medtech
v4.22.1 08.08.2026

Услуги, цены, методология2: убраны прямые цены из подачи (предоплата 600 BYN, «от 1 200», «от 6 000») — вовлечение через ценность, стоимость через калькуляторы

Доработка страниц услуг по замечаниям Алексея к Заданию 87 (Задание 88 «Услуги, цены, методология2»). По словам Алексея подача с прямой ценой сразу отпугивает: «ты начал сразу продавать… не нужно сразу писать стоимость, давай мы вовлекать человека, а то ты сразу стоимостью 600 рублей не предлагаешь ценность, что он хочет видеть, у меня для этих целей есть калькулятор». Аналогия Алексея: человек приходит не за ценой — он хочет понять, как продукт решает его потребности; «я бы сразу закрыл бы эту страницу». Исправление: все прямые цены (предоплата 600 BYN, первый продукт от 1 200 BYN, договор от 6 000 BYN) убраны из текста страниц /services, /services/iid и /services/system. Подача перестроена на вовлечение: сначала — что клиент хочет видеть в результате, спецификация вместо ТЗ, прототип до вложений, готовый продукт до полной оплаты; стоимость подаётся через калькуляторы calc.ipd.by/calculator/iterativnaya-postavka и calc.ipd.by/calculator/cifrovaya-arkhitektura. 1) /services: интро переписано («Начинаю не со стоимости, а с того, что вы хотите видеть в результате… Предварительный расчёт — в калькуляторе»), карточка IID без цен — «продукт до полной оплаты, спецификация вместо ТЗ, стоимость в калькуляторе итеративной поставки», description обновлён без цен. 2) /services/iid: title/description/JSON-LD без цен; блок «Финансовая модель IID» (600 / 1 200 / 6 000) заменён на «Как устроен формат: вы видите результат до вложений» (спецификация вместо ТЗ, прототип до вложений, продукт до полной оплаты, остановка после любого этапа) + CTA «Рассчитать этапы»; из «Почему формат удобен», «Как проходит этап» и «Полный пакет документов» убраны суммы. 3) /services/system: из блока «Что дальше» убраны «первый продукт от 1 200 BYN, предоплата 600 BYN», добавлены ссылки на IID и калькулятор итеративной поставки. Версия поднята до 4.22.1.

Что изменено

  • /services — resources/views/pages/services/index.blade.php: из интро и карточки IID убраны цены (предоплата 600 BYN, от 1 200 BYN, от 6 000 BYN); подача перестроена на вовлечение («что вы хотите видеть», прототип до вложений, продукт до полной оплаты), стоимость — через калькулятор итеративной поставки; description обновлён без цен
  • /services/iid — resources/views/pages/services/iid.blade.php: блок «Финансовая модель IID» с ценами (600/1 200/6 000) заменён на «Как устроен формат: вы видите результат до вложений» с вовлечением и CTA «Рассчитать этапы»; суммы убраны из списка преимуществ, «Как проходит этап», «Полный пакет документов» и финального блока; title/description/JSON-LD без цен
  • /services/system — resources/views/pages/services/system.blade.php: из «Что дальше» убраны «первый продукт от 1 200 BYN, предоплата 600 BYN», добавлены ссылки на формат IID и калькулятор итеративной поставки
  • Версия — IPD_VERSION поднята до 4.22.1 в .env

Затронутые страницы

  • /services, /services/iid, /services/system
v4.22.0 08.08.2026

Услуги, цены, методология: IID становится основным форматом; КЦА уходит с первой позиции и избавляется от пугающей цены «от 6 000 BYN»

Переработка страниц услуг под новую методологию (Задание 87 «Услуги, цены, методология»). По словам Алексея подача «Корпоративная цифровая архитектура — основной продукт» с ценой «от 6 000 BYN» — устаревший формат, который пугает клиента: «от» может означать 5, 6, 7 тысяч, человек может закрыть страницу. Современный формат, к которому движется мир, — итеративно-инкрементальная поставка (IID), и он теперь подаётся как основной. 1) На /services разделы поменяны местами: IID поднят наверх («Итеративно-инкрементальная поставка (IID) — основной формат»), КЦА опущена ниже и переписана без «от 6 000 BYN» — внедрение «поэтапное, с оплатой за каждый принятый результат». В карточку IID добавлена новая финансовая модель: предоплата 600 BYN, первый продукт от 1 200 BYN, договор от 6 000 BYN с поэтапной оплатой за каждый готовый продукт (не разовый платёж), остановка после любого этапа — норма для обеих сторон. 2) Интро /services теперь сразу ведёт к IID; в «Как строится работа» шаг 3 переформулирован (КЦА больше не «основной продукт»); в «Следующий шаг» IID поставлен первым. 3) Страница /services/iid переписана под методологию: «готовый продукт до полной оплаты» (показываю наработки и кейсы, собираю прототип — клиент пробует до вложения денег), блок «Финансовая модель IID» (600 / 1 200+ / договор 6 000+ / остановка после любого этапа), «Каждая итерация — отдельная версия продукта» (новая не ломает предыдущую: банковское приложение, модели телефонов, дома — старый не сносят, рядом строят новый, лучше), преимущества (быстрее внедрение, проверка гипотез, нет «динозавра» от бесконечных правок, контракт на год 1–2–3 итерации, сумма может вырасти за 6 000, доверие — исполнитель не «исчезает» после первого продукта). 4) /services/system: FAQ «Можно ли внедрять проект поэтапно?» исправлен с «Нет» на «Да, по формату IID» (прямое противоречие новой подаче устранено), блок «Как выстраивается работа» и «Что дальше» дополнены ссылкой на IID и новой финансовой моделью. Ссылки на калькуляторы сохранены: calc.ipd.by/calculator/iterativnaya-postavka и calc.ipd.by/calculator/cifrovaya-arkhitektura. Версия поднята до 4.22.0.

Что изменено

  • /services — resources/views/pages/services/index.blade.php: IID поднят наверх как основной формат (финансовая модель 600 BYN предоплата / от 1 200 BYN первый продукт / договор от 6 000 BYN поэтапной оплатой, продукт до полной оплаты, версии-итерации не ломают предыдущие); КЦА опущена, убрана цена «от 6 000 BYN» — внедрение поэтапное с оплатой за принятый результат; интро, шаг 3 «Как строится работа» и «Следующий шаг» приведены к IID-логике; title и description обновлены (IID — первым)
  • /services/iid — resources/views/pages/services/iid.blade.php: переписана под методологию — продукт до полной оплаты, прототип до вложений, спецификация вместо ТЗ, финансовая модель (предоплата 600, первый продукт от 1 200, договор от 6 000 с поэтапной оплатой, остановка после любого этапа), версии-итерации (банковские приложения, телефоны, дома), преимущества (быстрое внедрение, проверка гипотез, нет «динозавра», контракт на год, доверие); title/description/JSON-LD обновлены
  • /services/system — resources/views/pages/services/system.blade.php: FAQ «Можно ли внедрять проект поэтапно?» изменён с «Нет» на «Да, по IID»; блок «Как выстраивается работа» и «Что дальше» дополнены IID-форматом и новой финансовой моделью
  • Версия — IPD_VERSION поднята до 4.22.0 в .env

Затронутые страницы

  • /services, /services/iid, /services/system
v4.21.31 08.08.2026

Услуги, фото: внутренняя страница «Внедрение AI» усилена реальным кейсом «Бобер Боб» с фото + блок доверия; на /services у карточки «Искусственный интеллект» появилось фото

Доработка страниц услуг с реальными фотографиями проектов (Задание 86 «Услуги, фото»). По словам Алексея услуги и кейсы — равные по силе страницы (лестница Ханта L4, портфолио — L3), поэтому в услуги интегрируются реальные кейсы с фото вместо сгенерированных нейросетью картинок: «я могу дать результат, а результат, что в кейсах, что в услугах, один и тот же». 1) На странице /services/ai добавлен раздел «Реальный проект: Бобер Боб — ИИ-агенты в складском учёте импортёра»: фото реальной платформы (скриншот из кейса), задача / что сделано / результат (Telegram-боты и ИИ-агенты на основе реальных остатков склада, единая панель Москва — Бишкек), формат (договор через ООО «Студия ИПД»), ссылки на кейс /cases/bober-bob и платформу bober-bob.ipd.by. 2) Перед формой добавлен блок доверия «Доверие — на чём оно строится»: реальный проект на услуге, официальный формат (ООО «Студия ИПД»), опыт 9+ лет, ссылка на отзывы /reviews — по AIDA доверие стоит перед действием. 3) На /services карточка «Искусственный интеллект» (у неё не было фото) получила фото из кейса Бобер Боб — как у остальных карточек раздела «Из чего собирается платформа». Версия поднята до 4.21.31.

Что изменено

  • /services/ai — resources/views/pages/services/ai.blade.php: новый раздел «Реальный проект: Бобер Боб» (фото, задача/решение/результат, договор через ООО «Студия ИПД», ссылки на кейс и платформу); бывший «Примеры внедрения AI в бизнес» переименован в «Примеры сценариев внедрения AI» и идёт после реального кейса; добавлен блок доверия перед формой (реальный проект, официальный формат, опыт, ссылка на /reviews)
  • /services — resources/views/pages/services/index.blade.php: карточка «Искусственный интеллект» в разделе «Из чего собирается платформа» дополнена img-wrapper с фото из кейса Бобер Боб (аналогично остальным карточкам раздела)
  • Фото — использован реальный скриншот платформы public/images/page/cases/bober-bob/bober-bob.png (тот же, что в кейсе /cases/bober-bob), новых файлов не добавлялось
  • Версия — IPD_VERSION поднята до 4.21.31 в .env

Затронутые страницы

  • /services, /services/ai
v4.21.30 08.08.2026

Услуги, результат2: блок «Что получает бизнес» переоформлен — из «кликабельных» карточек в нессылочную нумерованную инфографику (стандарт для нессылочных блоков)

Доработка страницы /services (Задание 85 «Услуги, результат2»). По решению Алексея отдельные страницы под 4 пункта результата не создаются (страница и так ведёт к заявке; уводить клиента по ссылкам — размывать путь), поэтому блок «Что получает бизнес» — это оформление и усиление восприятия, а не навигация. 1) Четыре карточки результата переведены из `.service-card` (белые карточки с тенью, стрелкой «→» и подъёмом на hover — визуально «кликабельные», но ссылок нет, что ломало путь клиента) в новый стандарт `.benefits` / `.benefit-item`: нумерация 01–04, заголовок, пояснение результата. 2) Новый стиль задаёт «дорогой» деловой тон: номер синим, синяя верхняя черта у пункта, без тени, без стрелки, без hover-подъёма и смены цвета — блок явно не ссылка; при этом остальные карточки услуг на странице сохранили кликабельный вид. 3) Верстка адаптивная: 4 колонки на десктопе, 2 на планшете, 1 на телефоне. Версия поднята до 4.21.30.

Что изменено

  • Разметка — resources/views/pages/services/index.blade.php: блок «Что получает бизнес» — 4 `.service-card` → `.benefits` с `.benefit-item` (нумерация 01–04, h3, текст результата)
  • CSS — public/css/styles-services.css: добавлен стандарт `.benefits` / `.benefit-item` для нессылочных блоков-результатов (без тени, стрелки и hover-эффектов ссылки); адаптив: 4 колонки / 2 (≤900px) / 1 (≤600px)
  • Путь клиента — блок результата больше не выглядит кликабельным и не уводит от заявки; карточки услуг со ссылками остались без изменений
  • Версия — IPD_VERSION поднята до 4.21.30 в .env

Затронутые страницы

  • /services (страница «Услуги»)
v4.21.29 08.08.2026

Услуги: страница переписана под позиционирование «цифровые платформы, а не сайты» — акцент на результат и экосистему

Переработка страницы /services (Задание 83 «Услуги, результат»). По словам Алексея страница была правильной по логике, но не хватало профессионализма, экспертности и результата: «сайты» дешевит — «сайты каждый делает, а платформы не каждый, интеграция не каждый». 1) Заголовок исправлен: «Услуги — система роста бизнеса» (люди так не ищут) → «Цифровые платформы для бизнеса»; title и description обновлены под поисковые запросы (цифровые платформы, корпоративная цифровая архитектура, AmoCRM, интеграции, сопровождение). 2) Добавлен блок «Что получает бизнес» — результат вместо списка работ: поток заявок из нескольких каналов, ни одна заявка не теряется, управляемая система, сопровождение на договоре (основной формат работы). 3) Интро переписано: «Не сайты — платформы», каналы трафика усиливают друг друга. 4) Карточка «Сайты» → «Сайты и платформы» (сайт — видимая часть платформы). 5) «Инженерные задачи» переформулированы: работы на объекте (приехать, смонтировать, наладить), входят в комплекс, отдельно не заказываются — инженерное преимущество и присутствие на месте. 6) Новый раздел «Почему эта система устойчива»: редкое сочетание 1С + AmoCRM + интеграция платформ и веб-сервисов + экосистема маркетинга и визуального стиля в одном подрядчике; много каналов трафика (сайт, видео, AI-агент, инфраструктура, печать) — устойчивость; «когда система налажена — она работает как экосистема». Версия поднята до 4.21.29.

Что изменено

  • Заголовки (SEO) — resources/views/pages/services/index.blade.php: H1 «Услуги — система роста бизнеса» → «Цифровые платформы для бизнеса»; title/description переписаны под реальные поисковые запросы
  • Интро — позиционирование «не сайты, а платформы»; каналы трафика как единая экосистема
  • Новый блок «Что получает бизнес» — 4 карточки результата: поток заявок из нескольких каналов, заявки не теряются, управляемость, сопровождение на договоре
  • Состав системы — «Сайты» → «Сайты и платформы»; «Инженерные задачи» → работы на объекте, входят в комплекс, отдельно не заказываются
  • Новый раздел «Почему эта система устойчива» — 1С + AmoCRM + интеграции + маркетинг в одном подрядчике, много каналов, экосистемный принцип
  • Версия — IPD_VERSION поднята до 4.21.29 в .env

Затронутые страницы

  • /services (страница «Услуги»)
v4.21.28 07.08.2026

Мобильное меню2: Instagram в блоке соцсетей, раздел «Медиа» переименован в «Знания» с новой иконкой

Доработка мобильного меню (Задание 83 «Мобильное меню2»). 1) В блок соцсетей внизу меню (Telegram + Viber) добавлен Instagram — по словам Алексея две иконки «беднят» и люди часто пишут именно в Instagram; теперь Telegram, Viber и Instagram. 2) Раздел «Медиа» переименован в «Знания»: по словам Алексея «медиа дешевит» — звучит как развлекательный формат и отталкивает заказчика, хотя раздел (новости, СМИ, библиотека, блог, исследования, решения) объясняет объём и масштаб. Новое название — «Знания» (вариант из предложенных, выбран Алексеем) во всех местах: мобильное меню, футер (заголовок колонки) и карточка на /about. 3) Иконка раздела в меню заменена: вместо «плей/видеоролик» (которая и создавала развлекательное впечатление) — иконка «слои» (объём/масштаб). Версия поднята до 4.21.28.

Что изменено

  • Соцсети меню — resources/views/components/modal.blade.php: в блок .mm-social добавлен Instagram (https://www.instagram.com/aleksey_gapeev/, иконка smm/instagram.png); теперь Telegram + Viber + Instagram
  • Переименование «Медиа» → «Знания» — modal.blade.php (подпись раздела меню), footer.blade.php (заголовок колонки), pages/about/index.blade.php (карточка раздела, h3 + alt); внутренний ключ 'media' в логике подсветки футера сохранён
  • Иконка раздела — public/images/icon/menu/menu-sprite.svg: icon-media перерисован с «плей/видео» на «слои» (объём/масштаб); id сохранён, доп. правок вёрстки не нужно
  • Версия — IPD_VERSION поднята до 4.21.28 в .env

Затронутые страницы

  • / (мобильное меню, футер на всех страницах), /about, /about/media (страница уже называлась «Медиатека и ресурсы»)
v4.21.27 07.08.2026

Мобильное меню: по замечаниям Алексея — упоминание ООО «Студия ИПД», синяя кнопка, навигация как в футере (кейсы раскрывающиеся, ИИ убран)

Переработка мобильного меню (Задание 82 «Мобильное меню»). 1) Бренд-блок: подпись «digital-эксперт» убрана — по словам Алексея она «дешевит» и показывает, будто работаешь фрилансером без компании; теперь под именем указано «ООО «Студия ИПД» — цифровые системы для бизнеса» — это более технологично и вызывает экспертность («о, классно»). 2) Кнопка «Оставить заявку» была серой — добавлен класс btn-blue: теперь фирменный синий фон #007AFF (hover #005FCC), как и у кнопок бренда. 3) Навигация перестроена по образцу футера: убран блок «Искусственный интеллект» (услуги ИИ больше не подаются как самостоятельное предложение — заменены реальными услугами), «Кейсы» теперь раскрывающиеся (3 кейса из футера + «Все кейсы»), «Портфолио» — одна ссылка вместо раскрывающегося списка, услуги приведены к реальным (Корпоративная цифровая архитектура, Итеративно-инкрементальная поставка (IID), Базовый запуск, Экосистема роста и масштабирования, Стратегическое партнёрство, Первый шаг — вход в систему), «Медиа» приведено к футеру (Новости, СМИ обо мне, Видео и подкасты, Библиотека, Блог, Исследования, Решения). ООО «Студия ИПД» и «Отзывы» остались в подменю «Обо мне». Версия поднята до 4.21.27.

Что изменено

  • Бренд-блок — resources/views/components/modal.blade.php: «digital-эксперт» → «ООО «Студия ИПД» — цифровые системы для бизнеса» (упоминание компании, экспертный тон вместо фрилансерского)
  • Кнопка «Оставить заявку» — modal.blade.php: к mm-cta-btn btn-glow добавлен btn-blue — фирменный синий #007AFF вместо серого фона
  • Навигация — modal.blade.php: удалён блок «Искусственный интеллект»; «Кейсы» переведены в раскрывающийся accordion (3 кейса из футера + «Все кейсы»); «Портфолио» — одиночная ссылка; «Услуги» — 6 реальных услуг из футера; «Медиа» — 7 пунктов как в футере
  • Версия — IPD_VERSION поднята до 4.21.27 в .env

Затронутые страницы

  • / (мобильное меню на всех страницах)
v4.21.26 07.08.2026

Footer6: по замечаниям Алексея — рабочая «Обратная связь», подсветка «Соцсети» на /about/socials, тултипы у иконок соцсетей

Доработка футера (Задание 81 «Footer6»). 1) «Обратная связь» в колонке «Контакты» была мёртвой ссылкой (href="#", ничего не открывалось) — теперь работает как «Оставить заявку»: открывает модалку обратного звонка #callbackModal (как и задумано — это было всплывающее окно, оформленное кнопкой). 2) Подсветка на /about/socials: раньше синим подсвечивалось слово «Контакты», хотя это не страница контактов; теперь на странице соцсетей подсвечивается пункт «Соцсети» (по аналогии с «Отзывы» на /reviews). 3) У всех иконок соцсетей добавлен title (тултип при наведении): Telegram, GitHub, VK, Instagram, LinkedIn, Facebook, YouTube — «котик» GitHub больше не загадка, видно, что где находится. Нижняя строка футера (вход/версия/Платформа ИПД) оставлена как есть — по словам Алексея «пусть будет так, не критично». Номера, email, адрес и кнопка «Оставить заявку» не тронуты. Версия поднята до 4.21.26.

Что изменено

  • Обратная связь — resources/views/components/footer.blade.php: мёртвая ссылка заменена на открытие модалки (data-modal-target="callbackModal"); клик — всплывает окно обратного звонка
  • Подсветка /about/socials — из логики $footerSectionActive убран специальный кейс about/socials → contacts; добавлен $footerSocials: на /about/socials подсвечивается пункт «Соцсети» в колонке «Контакты», заголовок «Контакты» больше не горит
  • Тултипы — каждой иконке соцсетей (десктоп: 7, мобильная версия: 6) добавлен title с названием площадки
  • Версия — IPD_VERSION поднята до 4.21.26 в .env

Затронутые страницы

  • / (все страницы через компонент footer), /about/socials
v4.21.25 07.08.2026

Footer4-5: по замечаниям Алексея — одна подсветка в футере (только текущий раздел), заголовок вернут на «Экспертиза и доверие», добавлена иконка GitHub

Доработка футера (Задания 79 «Footer4» и 80 «Footer5»). 1) Футер приведён к принципу навигатора — подсвечивается ТОЛЬКО один пункт (текущий раздел). Раньше на страницах разделов горели сразу два слова: на /cases/ar-metal-calculator синими были «Кейсы» (заголовок раздела) и «AR-калькулятор для производства» (сама страница), на /services/system — «Услуги» и «Корпоративная цифровая архитектура», на /about/media — «Медиа и контент» и «Медиа». Теперь подсветка только у заголовка колонки текущего раздела: «Обо мне» (все страницы /about кроме медиа-раздела), «Услуги» (все /services), «Кейсы» (все /cases), «Медиа» (новости, СМИ, подкасты, библиотека, блог, исследования, решения, /about/media), «Контакты» (/contacts и /about/socials). Пункты внутри колонок больше не подсвечиваются. Единственное исключение — «Отзывы» на /reviews (у колонки «Экспертиза и доверие» нет ссылки-заголовка). 2) Заголовок «Мой опыт» (вариант из замечания Алексея) возвращён на исходный «Экспертиза и доверие» — пример был дан лишь как образец короткого названия, а не как финальное решение; «Мой опыт» не отражает суть колонки. 3) В блок соцсетей добавлена иконка GitHub (https://github.com/aleksey-gapeev) — разработчик должен быть на GitHub, это выглядит профессионально; теперь иконок семь, блок «красиво смотрится». 4) Мобильное меню футера (Обо мне / Кейсы / Услуги / Контакты) переведено на ту же логику подсветки раздела. Номера, email, адрес и кнопка «Оставить заявку» не тронуты. Версия — 4.21.25.

Что изменено

  • Одна подсветка — resources/views/components/footer.blade.php: логика заменена на определение единственной активной секции ($footerSectionActive): cases → services → contacts (+about/socials) → media → about; класс aLinkActive ставится только заголовку колонки раздела
  • Кейсы/Услуги — у пунктов колонок убраны классы $footerActive: на /cases/* и /services/* подсвечиваются только заголовки «Кейсы»/«Услуги», а не конкретные страницы
  • Медиа — заголовок «Медиа» подсвечивается на всех медиа-страницах (новости, СМИ, подкасты, библиотека, блог, исследования, решения); дубль на /about/media («Медиа и контент» + «Медиа») устранён
  • Обо мне/Контакты — «Обо мне» подсвечивается на всех /about (кроме медиа-раздела), «Контакты» — на /contacts и /about/socials; у пунктов колонок подсветка убрана
  • Мобильное меню — footer-menu-mobile переведён с $menuActive на ту же логику $footerSection
  • Заголовок — «Мой опыт» → обратно «Экспертиза и доверие» (Задание 80: пример Алексея был только образцом названия)
  • GitHub — добавлена иконка /images/icon/smm/github.png (белая, официальный инвертокот) со ссылкой https://github.com/aleksey-gapeev в колонке «Контакты» (десктоп и мобильная версия)
  • Версия — IPD_VERSION остаётся 4.21.25 в .env

Затронутые страницы

  • / (все страницы через компонент footer), /cases/*, /services/*, /about/*, /news, /knowledge, /blog, /researches, /solutions, /reviews, /contacts, /changelog
v4.21.24 07.08.2026

Footer3: по замечаниям Алексея — шире крайняя левая колонка («Экспертиза и доверие» без переноса), «Медиа» правее, убран «Все кейсы», починено переполнение сетки на ноутбуках

Доработка футера (Задание 78 «Footer3»). 1) Крайняя левая колонка расширена 200 → 270px: заголовок «ЭКСПЕРТИЗА И ДОВЕРИЕ» (ширина текста 237px) снова помещается в одну строку — переноса «два слова на двух строках» больше нет. 2) Блок «Медиа» сместился вправо ~60px за счёт перебалансировки колонок 200/360/340/300 → 270/350/340/240 (сумма прежняя 1200px): средние колонки остались шире крайних. 3) Из колонки «Кейсы» убрана ссылка «Все кейсы» (на странице /cases синим подсвечивались одновременно и «Кейсы», и «Все кейсы» — дубль): остаётся заголовок-ссылка «Кейсы». 4) Починен вылет сетки на ноутбуках (1025–1199px): при контейнере calc(100%−120px) фиксированная сетка 1200px выходила за правый край; для диапазона добавлен grid-template-columns: repeat(4, 1fr) — колонки занимают контейнер целиком. 5) Паддинг колонок футера сокращён 60 → 30px — текст не обрезается и не сжимается. Контакты справа и кнопка «Обсудить проект» сохранены. Номера, email и адрес не тронуты. Версия поднята до 4.21.24.

Что изменено

  • Ширина левой колонки — public/css/styles.css: .grid-footer grid-template-columns: 200px 360px 340px 300px → 270px 350px 340px 240px (сумма 1200px сохраняется, средние шире крайних); «ЭКСПЕРТИЗА И ДОВЕРИЕ» помещается в одну строку (нужно 237px, контент колонки 240px)
  • Смещение «Медиа» — при новых ширинах первых трёх колонок (270+350+340) блок «Медиа»/«Контакты» сдвинулся вправо на ~60px — как просил Алексей (~52px)
  • Паддинг — .footer-column padding-right: 60px → 30px (в styles.css и в стилях ноутбуков styles_3)
  • «Все кейсы» — resources/views/components/footer.blade.php: удалена ссылка «Все кейсы» из колонки «Кейсы» — остаётся только заголовок-ссылка «Кейсы»; двойной синей подсветки на /cases больше нет
  • Ноутбуки — public/css/styles_3_1366_desktops.css (1025–1199px): .grid-footer grid-template-columns: repeat(4, 1fr) — сетка 1200px больше не вылезает за контейнер calc(100%−120px)
  • Версия — IPD_VERSION поднята до 4.21.24 в .env

Затронутые страницы

  • / (все страницы через компонент footer), /cases (колонка «Кейсы»), /changelog
v4.21.23 07.08.2026

Footer2: по замечаниям Алексея — подсветка текущего пункта, интервалы, контакты справа, 2 пункта «Экспертиза и доверие», баланс колонок

Доработка футера (Задание 77 «Footer2»). 1) Исправлена подсветка «Кейсы»/«Услуги»: раньше на любой странице раздела синими становились сразу все ссылки (класс aLinkActive от $menuActive раздавался всем кейсам и услугам одновременно — «слово кейс и все кейсы выделены сильно синим»); теперь подсвечивается только текущий пункт по точному совпадению URL (текущая страница + заголовок раздела). 2) Межстрочный интервал в колонках футера: line-height 1.8 → 1.3 (слова длинных названий «прилипли»), между пунктами списка добавлен отступ 12px — длинные названия кейсов читаются как единый пункт. 3) Вторая строка сетки перестроена: «Контакты» (с соцсетями) перенесены в крайнюю правую колонку, «Обсудить проект» с кнопкой осталась справа. 4) «Экспертиза и доверие» сокращена с 4 до 2 пунктов (ООО «Студия ИПД» + Отзывы), дубли «Отзывы»/«ООО Студия ИПД» убраны из колонки «Обо мне» — дублирования больше нет. 5) Ширины колонок сбалансированы: 300/300/362/238 → 200/360/340/300 (крайние уже, средние шире — Услуги и Кейсы с длинными названиями помещаются компактнее). 6) Иконки соцсетей в десктоп-футере ужаты (gap 14→10, бокс 36→30px) — помещаются в правой колонке без переноса. Номера, email и адрес не тронуты. Версия поднята до 4.21.23.

Что изменено

  • Подсветка в футере — resources/views/components/footer.blade.php: в футер добавлен helper ($footerActive — точное совпадение URL, $footerSection — раздел целиком); «Кейсы»/«Услуги» больше не подсвечиваются все сразу — синим остаётся только текущая страница и заголовок раздела
  • Интервалы — public/css/styles.css: .footer-column ul li line-height 1.8 → 1.3 + margin-bottom 12px между пунктами
  • Порядок колонок — вторая строка сетки: Экспертиза и доверие / Калькуляторы / Обсудить проект / Контакты (контакты и соцсети — крайняя правая колонка)
  • Экспертиза и доверие — сокращена до 2 пунктов (ООО «Студия ИПД» /about/ooo-studija-ipd, Отзывы /reviews); из «Обо мне» убраны дубли Отзывы и ООО «Студия ИПД»
  • Ширины колонок — .grid-footer grid-template-columns: 200px 360px 340px 300px (было 300/300/362/238)
  • Соцсети — .footer .icon-smm gap 10px + .footer .icon-smm-item 30px (только десктоп-футер, мобильная версия не тронута)
  • Версия — IPD_VERSION поднята до 4.21.23 в .env

Затронутые страницы

  • / (все страницы через компонент footer), /changelog
v4.21.22 07.08.2026

Footer: переписан под текущее позиционирование — КЦА и IID, Кейсы вместо Портфолио, футер приводит заявки

Доработка по замечаниям Алексея (Задание 76 «Footer»). 1) Блок «Искусственный интеллект» удалён — услуги ИИ и фрилансерская работа были «тестом гипотез», заявок не дали; вместо них в футере реальные услуги: Корпоративная цифровая архитектура (КЦА, основной продукт), Итеративно-инкрементальная поставка (IID), Базовый запуск, Экосистема роста и масштабирования, Стратегическое партнёрство, Первый шаг — вход в систему. 2) Блок «Портфолио» заменён на «Кейсы» (Алексей: «вместо портфолио будем писать кейсы») с тремя сильными кейсами: Платформа годовых заявок (охват до 20% населения), 65 организаций здравоохранения в одной системе, AR-калькулятор для производства + «Все кейсы». 3) Добавлена вторая строка сетки футера: «Контакты» (обратная связь, соцсети с иконками), «Экспертиза и доверие» (ООО «Студия ИПД», Отзывы, Образование, Ключевые направления), «Калькуляторы» (ссылки на calc.ipd.by), «Обсудить проект» (телефон + кнопка «Оставить заявку», открывает модалку обратного звонка). 4) Нижняя строка переписана: вместо непонятного «Платформа ИПД · Управление нейросетями» — © 2026, Алексей Гапеев. ООО «Студия ИПД». УНП 291457456, ссылки «Кабинет/Вход» (для авторизованных/гостей), версия сайта и «История версий» (на /changelog), «Платформа ИПД» со подписью «цифровые системы и автоматизация для бизнеса и учреждений». 5) Мобильная версия футера усилена: адрес/email/телефон с иконками, короткое меню (Обо мне / Кейсы / Услуги / Контакты), кнопка «Оставить заявку» (модалка) и соцсети — футер теперь приводит заявки и на мобильных. Номера, email и адрес не тронуты. Версия поднята до 4.21.22.

Что изменено

  • Футер (все страницы) — resources/views/components/footer.blade.php: удалён блок «Искусственный интеллект» (и фрилансерские услуги), блок «Портфолио» → «Кейсы» с сильными кейсами, добавлена вторая строка сетки (Контакты / Экспертиза и доверие / Калькуляторы / Обсудить проект), переписана нижняя строка, усилена мобильная версия
  • Услуги в футере — ссылки на /services/system (КЦА), /services/iid (IID), /services/start, /services/growth, /services/partnership, /services/services-tripwire
  • Кейсы в футере — /cases/saas-medtech, /cases/medtech-perechen-2026, /cases/ar-metal-calculator, /cases
  • Калькуляторы — https://calc.ipd.by/calculator/cifrovaya-arkhitektura и https://calc.ipd.by/calculator/iterativnaya-postavka (внешние, новый таб)
  • CTA — кнопки «Оставить заявку» (класс btn-cta btn-glow) открывают модалку обратного звонка #callbackModal
  • Нижняя строка — © 2026, Алексей Гапеев. ООО «Студия ИПД». УНП 291457456; Кабинет/Вход (route dashboard/login); версия + История версий (/changelog); Платформа ИПД (/about/platform) с подписью
  • Версия — IPD_VERSION поднята до 4.21.22 в .env

Затронутые страницы

  • / (все страницы через компонент footer), /changelog
v4.21.21 07.08.2026

Услуги: ссылки на калькулятор переведены на calc.ipd.by, блок образования расширен до трёх карточек

Доработка по замечаниям Алексея (Задание 75 «Услуги2»). 1) Ссылки на калькуляторы в /services и /services/iid вели на тестовый сайт calc.ipd.test — заменены на правильные https://calc.ipd.by/calculator/cifrovaya-arkhitektura и https://calc.ipd.by/calculator/iterativnaya-postavka (Алексей: «я же этот сайт буду выкладывать в интернет… нельзя давать ссылку на тестовый сайт»). 2) Блок «Экспертиза и доверие» на /services расширен: вместо одной карточки «Инженерное и техническое образование» теперь три отдельных карточки с полными названиями вузов и отдельными ссылками — Белорусско-Российский университет (БРУ, высшее экономическое: бухгалтерский учёт, анализ и аудит, /about/education/bru), Белорусский государственный университет информатики и радиоэлектроники (БГУИР, технический фундамент, дистанционно с 2013, /about/education/bsuir), Белорусский государственный университет пищевых и химических технологий (БГУТ, ранее МТИ/МГУП, инженер-механик, 4,87/5, /about/education/bgut). Алексей: «у меня два образования высших, а БГУИР — неоконченное, но это важная часть… можно три карточки, три отдельных ссылки, что они дают в комплексе». Полные названия прописаны, чтобы люди не расшифровывали аббревиатуры. 3) Страница /about/education/bsuir дополнена абзацем про фундамент: дистанционный формат, Делфи/Паскаль, запредельный уровень высшей математики, «после этой базы всё остальное давалось как семечки». 4) Страница /about/education/bru скорректирована: направление «маркетинг, предпринимательство, финансы» уточнено на «высшее экономическое образование — бухгалтерский учёт, анализ и аудит» (Алексей: «сюда я смело в аналитику могу добавить»). Номера и адрес не тронуты. Версия поднята до 4.21.21.

Что изменено

  • /services — resources/views/pages/services/index.blade.php: ссылки calc.ipd.test → calc.ipd.by (калькуляторы КЦА и IID); блок «Экспертиза и доверие»: 4 карточки — ООО «Студия ИПД» + три образования с полными названиями и отдельными ссылками (БРУ, БГУИР, БГУТ)
  • /services/iid — resources/views/pages/services/iid.blade.php: ссылка calc.ipd.test/calculator/iterativnaya-postavka → calc.ipd.by/calculator/iterativnaya-postavka
  • /about/education/bsuir — resources/views/pages/about/education/bsuir.blade.php: добавлен абзац про фундаментальную подготовку (дистанционно, Делфи/Паскаль, высшая математика, «остальное — семечки»)
  • /about/education/bru — resources/views/pages/about/education/bru.blade.php: title/description/h1 и текст направления уточнены — высшее экономическое образование, бухгалтерский учёт, анализ и аудит
  • Changelog — в записи v4.21.20 упоминание calc.ipd.test заменено на calc.ipd.by
  • Версия — IPD_VERSION поднята до 4.21.21 в .env

Затронутые страницы

  • /services, /services/iid, /about/education/bsuir, /about/education/bru, /changelog
v4.21.20 07.08.2026

Услуги: корпоративная цифровая архитектура — основной продукт, добавлена итеративно-инкрементальная поставка (IID)

Доработка по позиционированию Алексея (Задание 74 «Услуги»): страница /services полностью переписана. Раньше сверху шёл блок «Искусственный интеллект», а корпоративная цифровая архитектура (КЦА) была в самом конце — по новой логике наоборот: КЦА теперь основной продукт и идёт первой, а ИИ — одна из частей системы. Алексей: «что было сверху (ИИ) — становится хуже, что было в конце (цифровая архитектура) — теперь основной продукт». Добавлена новая услуга — итеративно-инкрементальная поставка (IID): по ней уже заключено 2 договора, а в услугах её не было. Отдельные «фрилансерские» услуги (фотосъёмка, брендинг, дизайн, видеосъёмка, ИИ) больше не подаются как самостоятельные предложения — они остались, но как составляющие корпоративной цифровой архитектуры, с формулировкой «не продаются по отдельности, это части единой системы». Создана новая страница /services/iid с описанием формата IID (этапы, документы: рамочный договор, спецификация, счёт, акт; оплата за этап; остановка после любого этапа без штрафов). Добавлены ссылки на калькуляторы: calc.ipd.by/calculator/cifrovaya-arkhitektura и calc.ipd.by/calculator/iterativnaya-postavka, а также блок доверия с образованием (БГУИР, БГУТ/МТИ/МГУП) и ООО «Студия ИПД». Стоимость КЦА указана «от 6 000 BYN». Номера и адрес не тронуты. Версия поднята до 4.21.20.

Что изменено

  • /services — resources/views/pages/services/index.blade.php: полностью переписана. Структура: интро → «Корпоративная цифровая архитектура — основной продукт» (карточка КЦА + карточка калькулятора cifrovaya-arkhitektura, стоимость от 6 000 BYN) → «Итеративно-инкрементальная поставка (IID)» (карточка формата + карточка калькулятора iterativnaya-postavka, «заключены договоры») → «Как устроена система работы» (уровни 1–5: первый шаг, базовый запуск, КЦА, экосистема роста, стратегическое партнёрство) → «Что входит в цифровую архитектуру» (сайты, AmoCRM, автоматизация, ИИ, SEO, дизайн, брендинг, фото, видео, разработка, инженерные задачи — как части системы, не отдельные услуги) → «Экспертиза и доверие» (ООО «Студия ИПД», образование БГУИР/БГУТ со ссылками) → «Почему отдельные услуги не дают результата» → «Следующий шаг» → форма. ИИ убран с первой позиции, КЦА поднята наверх, «Искусственный интеллект» больше не оформлен как отдельная продаваемая услуга
  • /services/iid — создана новая страница resources/views/pages/services/iid.blade.php: описание итеративно-инкрементальной поставки (сравнение с классическим подходом, как проходит этап, полный пакет документов, что можно делать в этом формате, ссылка на калькулятор iterativnaya-postavka, CTA)
  • Контроллер — app/Http/Controllers/ServicesController.php: в $staticPages добавлен маппинг 'iid' => 'pages.services.iid' (роут /services/iid)
  • Title/description — /services: «Услуги — корпоративная цифровая архитектура и итеративная поставка | Студия ИПД»
  • Версия — IPD_VERSION поднята до 4.21.20 в .env

Затронутые страницы

  • /services, /services/iid (новая), /changelog
v4.21.19 07.08.2026

Возвращён адрес «Республика Беларусь, 224011, г. Брест, ул. Луцкая, 82»

Доработка по замечанию Алексея (Задание 73 «Адрес»): решение 4.21.17 об отмене адреса на /contacts отменено. Алексей: «работаю удалённо» звучит как уровень фрилансера, адрес — триггер доверия, «сделай, пожалуйста, как было». На /contacts карточка «Локация: Брест, Беларусь — работаю удалённо» заменена на «Адрес: Республика Беларусь, 224011, г. Брест, ул. Луцкая, 82» (с индексом, как было). Формулировка «работаю удалённо» убрана и из остальных мест, где в 4.21.17 она заменила адрес: шапка, подвал (десктоп и мобильный блок), мобильное меню — везде снова «ул. Луцкая, 82». Номера и Viber не тронуты (Алексей: «с номерами всё хорошо»). Версия поднята до 4.21.19.

Что изменено

  • /contacts — resources/views/pages/contacts/index.blade.php: карточка переименована «Локация» → «Адрес», текст «Брест, Беларусь, работаю удалённо» → «Республика Беларусь, 224011, г. Брест, ул. Луцкая, 82»; в блоке контактов «Локация: Брест, Беларусь — работаю удалённо» → «Локация: Беларусь, Брест, ул. Луцкая, 82»
  • Шапка — resources/views/components/menu.blade.php: к «Брест» возвращён schema.org streetAddress «ул. Луцкая, 82»
  • Подвал — resources/views/components/footer.blade.php: «БРЕСТ — РАБОТАЮ УДАЛЁННО» → «БРЕСТ, ул. Луцкая, 82»; мобильный блок «Брест — работаю удалённо» → «Брест, ул. Луцкая, 82»
  • Мобильное меню — resources/views/components/modal.blade.php: «Брест — работаю удалённо» → «Брест, ул. Луцкая, 82»
  • Номера — не изменены: +375 29 698-83-70, +375 29 576-39-28, Viber +375 29 740-28-02, УНП 291457456
  • Версия — IPD_VERSION поднята до 4.21.19 в .env

Затронутые страницы

  • /contacts, все страницы (шапка/подвал/мобильное меню), /changelog
v4.21.18 07.08.2026

Титульная: фото в карточках на всю ширину div, класс card-link-full

Доработка главной по замечанию Алексея (Задание 72 «Фото на ширину div»): на титульной у карточек кейсов фото было прижато к левому краю, а справа оставался белый отступ; у карточек новостей фото растягивалось на всю ширину контейнера. Причина: на главной загружен styles_post_index.css, где глобальный .img-wrapper задаёт margin: 10px -28px — у .service-card .img-wrapper он складывался со сдвигом left: -28px и width: calc(100% + 56px), давая двойной уход влево и белый отступ справа ~28px. Фикс: горизонтальные margin у .service-card .img-wrapper обнулены (margin: 10px 0 16px), фото растягивается на всю ширину карточки, как в новостях. Ссылки-накладки на карточках кейсов и «форматах работы» переведены с card-link на card-link-full (как на новостях и блоге). Страница /cases не затронута — там styles_post_index.css не загружается, фото и так на всю ширину. Версия поднята до 4.21.18.

Что изменено

  • CSS — styles-services.css: .service-card .img-wrapper margin: 10px 0 16px (обнулены горизонтальные margin, конфликтовавшие с глобальным .img-wrapper из styles_post_index.css на главной)
  • Титульная — resources/views/pages/index.blade.php: на всех карточках кейсов (4 шт.), «Форматах работы» (4 шт.) и «Как строится работа» (5 шт.) ссылка class="card-link" заменена на class="card-link-full"
  • Версия — IPD_VERSION поднята до 4.21.18 в .env

Затронутые страницы

  • /, /cases (проверено, не менялось), /changelog
v4.21.17 07.08.2026

Страница «Контакты»: убран адрес ИП, номера без деления «основной/ООО», починены формы и мобильные кнопки

Доработка /contacts по замечаниям Алексея (прочитал отчёт 4.21.16). Убран адрес «ул. Луцкая, 82» из текста — аренда больше не оплачивается (выгнали ~3 года назад), работа удалённая, юридический адрес на странице не нужен; вместо «Адрес» теперь «Локация: Брест, Беларусь — работаю удалённо». Убрано деление номеров на «(основной)» и «(ООО «Студия ИПД»)» — номера подаются как равные, «без разницы, чей это номер»: +375 29 698-83-70 и +375 29 576-39-28 под одной подписью «Телефон», +375 29 740-28-02 — Viber (звонки недоступны). Акцент смещён на ООО «Студия ИПД». Кнопка «Задать вопрос» (была мёртвой ссылкой #) теперь скроллит к форме «Начать диалог». Починены формы: «Заказать обратный звонок» и «Оставить отзыв» переведены на рабочие Laravel-роуты /user/callback и /user/feedback (раньше JS слал на несуществующие sendTelegram1.php/sendCallbackRequest.php — поэтому «ни разу не работали»); добавлен meta csrf-token в layout; sendMessage() переписан на /user/message (чинит «Начать диалог» на всех страницах); из формы отзыва убрана неработающая загрузка фото. Исправлена мобильная вёрстка: три кнопки контактов (обратный звонок/отзыв/вопрос) больше не прижаты друг к другу (gap 14px). Версия поднята до 4.21.17.

Что изменено

  • Адрес — убраны «ул. Луцкая, 82» и индекс 224011 с /contacts (аренда не платится ~3 года, работа удалённая); карточка «Адрес» переименована в «Локация» — «Брест, Беларусь, работаю удалённо»; карта Google оставлена без изменений по решению Алексея
  • Телефоны — убраны пометки «(основной)» и «(ООО «Студия ИПД»)»: оба номера под подписью «Телефон» как равные; Viber-номер с пояснением «звонки недоступны, можно написать в Viber»; в нижней секции контактов «Локация» и «Телефон» приведены к тому же виду
  • Формы — «Заказать обратный звонок» (модалка) переведена на нативную форму POST /user/callback (+ поле «Ваше имя»); «Оставить отзыв» — POST /user/feedback (компания и тип работ теперь попадают в сообщение); «Начать диалог»/sendMessage() — POST /user/message; добавлен meta csrf-token в layout
  • UserController — ослаблена валидация: user_email в message стал необязательным (в формах «Email (не обязательно)»), user_phone в feedback необязателен; feedback учитывает user_company и user_work
  • Мобильная вёрстка — блок трёх кнопок контактов получил класс contact-actions с gap 14px на телефонах (раньше grid gap 0px — кнопки прижаты друг к другу)
  • Кнопка «Задать вопрос» — была мёртвой (href="#"), теперь ведёт к якорю формы «Начать диалог» на этой же странице
  • Версия — IPD_VERSION поднята до 4.21.17 в .env

Затронутые страницы

  • /contacts, компоненты modal (обратный звонок), feedback-modal (отзыв), send-message (начать диалог), layout app (csrf-token), main.js (sendMessage), UserController, /changelog
v4.21.16 07.08.2026

Страница «Контакты»: три телефона, УНП разделены, исправлены tel-ссылки

Страница /contacts приведена в порядок. Телефоны: основной +375 29 698-83-70 (выделен жирным, люди звонят на него), корпоративный номер ООО «Студия ИПД» +375 29 576-39-28 (добавлен, раньше его не было), исторический номер +375 29 740-28-02 (звонки недоступны после блокировки в декабре, можно написать в Viber). Исправлены битые tel-ссылки: header/footer/меню звонили на заблокированный +375297402802, хотя показывали 698-83-70 — теперь везде tel:+375296988370. УНП разделены: на контактах оставлен только УНП ООО «Студия ИПД» (291457456); УНП ИП (291224397) перенесён на страницу /about/business с блоком «ИП и ООО: две формы одного пути» (история ИП с 1999 года, когда Алексею было 18). Версия поднята до 4.21.16.

Что изменено

  • Телефоны /contacts — основной +375 29 698-83-70 выделен жирным с пометкой «(основной)»; добавлен новый корпоративный +375 29 576-39-28 (ООО «Студия ИПД»); исторический +375 29 740-28-02 оформлен как Viber-контакт с пояснением, что звонки недоступны, но можно написать в Viber
  • tel-ссылки header/footer/menu — исправлена ошибка: отображался 698-83-70, а tel: вёл на заблокированный +375297402802; теперь везде tel:+375296988370
  • УНП — на /contacts оставлен только УНП ООО «Студия ИПД» 291457456; ИП-шный УНП 291224397 убран со страницы контактов (людей пугает история ИП, цель страницы — продажа)
  • Страница /about/business — добавлен раздел «ИП и ООО: две формы одного пути»: история ИП с 1999 года (Алексею было 18), оба УНП (291457456 ООО, 291224397 ИП), объяснение формата работы (организация + предприниматель)
  • Версия — IPD_VERSION поднята до 4.21.16 в .env

Затронутые страницы

  • /contacts, /about/business, header (menu), footer, /changelog
v4.21.15 07.08.2026

Страница «ООО Студия ИПД»: усилен бренд ИПД, убрана «работа с личностью», починено отображение скриншотов и добавлен второй сертификат

Страница /about/ooo-studija-ipd — SEO-страница бренда: по ней люди ищут «ИПД», «ИПД учеба», «ИПД обучение», «ООО Студия ИПД» и налоговые/учётные запросы (УНП). Добавлен раздел «Почему ИПД: бренд с историей»: ИПД — личный бренд Алексея Гапеева, домен и субдомен существуют более 17 лет; после закрытия института предпринимательской деятельности расшифровка «информация по делу» занимает нишу бренда; субдомен ИПД — работающая платформа с формой авторизации на выделенном сервере. Формулировка «работа с личностью» (звучала как уголовное дело) заменена на пользу для клиента: «информация, которая приносит пользу — в медицине, в духовных и социальных проектах, в развитии бизнеса» (subtitle, «Основание компании», «Текущий статус»). Исправлено отображение изображений: скриншоты больницы №1 и COVID-19 выведены из lightbox (photo-item) на всю ширину экрана как полные скриншоты сайтов (логика «погрузить в тему» при листании); зум сохранён только для сертификатов. Добавлен второй сертификат AmoCRM-партнёра amoSTART — на Алексея Гапеева (раньше показывался только сертификат студии) — теперь галерея из двух сертификатов в grid-раскладке. Версия платформы поднята до 4.21.15.

Что изменено

  • Раздел «Почему ИПД: бренд с историей» — новый: личный бренд более 17 лет, домен/субдомен работают, институт предпринимательской деятельности закрылся пару лет назад, расшифровка «информация по делу» занимает брендовую нишу; SEO-запросы (ИПД, учеба, обучение, налоговая, УНП), субдомен — работающая платформа
  • «Работа с личностью» — убрана везде (subtitle, «Основание компании», «Текущий статус»): заменена на пользу для клиента — «информация, которая приносит пользу в медицине, в духовных и социальных проектах, в развитии бизнеса»
  • Изображения — скриншоты mb1-1.png, mb1-3.png, cases-covid.jpg выведены из lightbox на всю ширину экрана (class="img-fluid" width="4000") как полные скриншоты сайтов; зум (photo-item/lightbox) оставлен только для сертификатов
  • Сертификаты — добавлен второй сертификат AmoCRM amoSTART на Алексея Гапеева (alexey-gapeev-amoSTART.webp): оба сертификата в галерее lightbox studija-cert, grid-раскладка 2+1
  • Версия — IPD_VERSION поднята до 4.21.15 в .env

Затронутые страницы

  • /about/ooo-studija-ipd, /changelog
v4.21.14 07.08.2026

Кардиология и медицинские кейсы обновлены как единая экосистема IT-медицины

Кейс кардиологии переписан как «большая экосистема»: кардиология показана как часть системы IT-медицины студии ИПД — в связке с Могилёвской больницей №1, РУП «Медтехника» и цифровой поддержкой врачей во время COVID-19. Кейсы «Медтехника», «COVID-19» и «Монастырь в Бресте» переписаны в единый формат новых кейсов (шапка с ролью/периодом/клиентом/сферой, блоки «Цель», «Роль и задачи», «Результаты», «Инструменты», «Ссылки»). Кейс-направление «IT-медицина» избавлен от одиночной битой «Ссылки проекта»: теперь это список ссылок на проекты направления. Страница «ООО Студия ИПД» дополнена позиционированием ИПД = «информация по делу» и блоком экосистемы IT-медицины. Исправлены битые иконки fa-chart-line, fa-switch, fa-plug в кейсе «Перечень 2026» и битая ссылка на изображение cardiology-6.jpg в кейсе кардиологии. Период активности IT-медицины уточнён: 2025 год, а не 2026. Версия платформы поднята до 4.21.14.

Что изменено

  • Кейс «Кардиология» — переписан как экосистема IT-медицины: добавлены связи с больницей №1, Медтехникой и COVID-поддержкой, блок «Связанные проекты экосистемы», подчёркнуто, что направление не завершалось; исправлены битая иконка fa-chart-line (заменена на fa-chart-up) и битая ссылка на изображение cardiology-6.jpg
  • Кейс-направление «IT-медицина» — убрана одиночная «Ссылка проекта» (my2.medtech.ipd.by, битая), добавлен список ссылок на проекты направления: кардиология, больница №1, Медтехника, «Перечень 2026», COVID, ООО «Студия ИПД»; период уточнён: активность возвращена в 2025, а не в 2026
  • Кейс «РУП Медтехника» — переписан в новый формат: шапка с ролью/периодом/клиентом/сферой, блоки «Цель», «Роль и задачи», «Результаты», «Инструменты», «Ссылки»; исправлена битая картинка cases-medtech-1.jpg (заменена на существующие изображения платформ Медтехники); подчёркнуто многолетнее договорное сотрудничество около 6 лет
  • Кейс «COVID-19» — переписан в новый формат как часть экосистемы IT-медицины с блоком связанных проектов
  • Кейс «Монастырь в Бресте» — переписан в новый формат как духовная линия экосистемы ИПД («информация по делу»)
  • Кейс «Перечень 2026» — исправлены битые иконки fa-chart-line → fa-chart-up, fa-switch → fa-square-check, fa-plug → fa-link
  • Страница «ООО Студия ИПД» — добавлено позиционирование ИПД = «информация по делу» (медицина, духовная часть, личность), блок «Экосистема IT-медицины», уточнено, что компания выжила 9 лет и направление не завершалось
  • Раздел «Кейсы» — карточки cardiology, med-tech, covid, brest-obitel, it-medicine обновлены (периоды, описания, изображение для med-tech)
  • Версия — IPD_VERSION поднята до 4.21.14 в .env

Затронутые страницы

  • /cases, /cases/cardiology, /cases/it-medicine, /cases/med-tech, /cases/covid, /cases/brest-obitel, /cases/medtech-perechen-2026, /about/ooo-studija-ipd, /changelog
v4.21.13 07.08.2026

Кейс «IT-медицина»: переписан как кейс-направление цифровой медицины, исправлена битая ссылка на изображение

Кейс, написанный около 5 лет назад, не обновлялся. Переписан в едином формате новых кейсов (шапка с ролью, периодом, клиентом, сферой и ссылкой; блоки «Цель», «Моя роль и задачи», «Результаты», «Инструменты», «Ссылки») как сильное кейс-направление цифровой медицины. Учтены факты истории: фокус на медицине с 2014 года (ИП), договоры через ООО «Студия ИПД» до ~2021 года, выживание фирмы 9 лет после ковида 2020 и политической ситуации, около трёх лет личного бренда как эксперта, возвращение направления в 2026 году (платформа «Перечень 2026» — Гродно, заявки, техника). Исправлена битая ссылка на изображение images/cases/cases-medical-1.jpg (файл отсутствовал): добавлены рабочие скриншоты медицинских платформ — кардио-платформа, личный кабинет больницы №1, мокап платформы медтехники. Обновлена карточка кейса в разделе «Кейсы» (название, описание, период «с 2014 года», изображение). Версия платформы поднята до 4.21.13.

Что изменено

  • Кейс «IT-медицина» — переписан в новом формате как кейс-направление: IT-медицина как соединение биологии, программирования и пользы для людей, понимание языка врачей, фокус с 2014 года, ООО «Студия ИПД» с медицинским фокусом, медицинские платформы, фото/видео, конференции и интервью с врачами, привод клиентов
  • Изображения — исправлена битая ссылка images/cases/cases-medical-1.jpg: добавлены скриншоты медицинских платформ (кардио, больница №1, медтехника)
  • Раздел «Кейсы» — карточка it-medicine обновлена: название «IT-медицина: цифровые платформы для здравоохранения», период «с 2014 года», изображение
  • Версия — IPD_VERSION поднята до 4.21.13 в .env

Затронутые страницы

  • /cases, /cases/it-medicine, /changelog
v4.21.12 07.08.2026

Кейсы «cd.mogilev.by» и «Интернет-магазин на 70 000 товаров»: исправлена ошибка принадлежности контента

Исправлена ошибка, вкравшаяся в кейс cd.mogilev.by: контент про каталог 70 000–100 000 товаров, прайс-листы поставщиков и выделенный сервер относился не к cd.mogilev.by, а к другому проекту — интернет-магазину на 70 000 товаров (проект «Радобыт», ~2013 год). Кейс cd.mogilev.by переписан в соответствии с фактами: это первый интернет-магазин (компакт-диски, 2003 — 2004) в партнёрской разработке — база данных и бэкенд делал могилёвский центр разработки, фронтенд, наполнение и логику витрины — Алексей Гапеев; именно здесь началось глубокое изучение баз данных. Кейс «Интернет-магазин на 70 000 товаров» оформлен в формате новых кейсов: синхронизация ~20 прайс-листов поставщиков, автоматизация модерации вместо ручной, выделенный сервер, уроки (масштаб умножает всё в 20 раз, ТЗ до старта, экспертиза важнее скорости). Обновлены карточки раздела «Кейсы» (названия, описания, периоды). Версия платформы поднята до 4.21.12.

Что изменено

  • Кейс «cd.mogilev.by» — исправлен: первый интернет-магазин (компакт-диски), партнёрская разработка 2003 — 2004, роль — фронтенд и наполнение, изучение баз данных, результаты и признание
  • Кейс «Интернет-магазин на 70 000 товаров» (baze-70000) — оформлен в формате новых кейсов: каталог 70 000–100 000 товаров, синхронизация прайс-листов ~20 поставщиков, автоматизация модерации, выделенный сервер, уроки
  • Раздел «Кейсы» — карточки обновлены: cd.mogilev.by (первый интернет-магазин в партнёрстве, 2003 — 2004), baze-70000 (70 000–100 000 товаров, автоматизация вместо ручной модерации, ~2013)
  • Версия — IPD_VERSION поднята до 4.21.12 в .env

Затронутые страницы

  • /cases, /cases/cd-mogilev-by, /cases/baze-70000, /changelog
v4.21.11 07.08.2026

Кейсы «Автосеть», «Личный бренд» и «cd.mogilev.by»: переработаны под пользу для бизнеса, добавлены скриншоты

Внутренние страницы трёх кейсов переписаны в едином формате новых кейсов (шапка с ролью, периодом, клиентом, сферой и ссылкой; блоки «Цель», «Задачи и решения», «Результаты», «Инструменты», «Ссылки»): «Автосеть» — интернет-маркетинг в масштабе крупной компании (SEO, баннеры, видео, корпоративные процессы, фундамент студии IPD), «Продюсирование личного бренда» — путь от мастера до эксперта и имя как актив бизнеса, «cd.mogilev.by» — интернет-магазин на 100 000 товаров с автоматизацией прайс-листов и выделенным сервером. К кейсам «Автосеть» и «Личный бренд» добавлены скриншоты сайтов (avtoset.by и ipd.by), у «cd.mogilev.by» использован исторический скриншот проекта. Карточки этих кейсов в разделе «Кейсы» обновлены: названия, описания, периоды (2006 — 2008, 2015 — 2017, с 2022 года) и изображения. Версия платформы поднята до 4.21.11.

Что изменено

  • Кейс «Автосеть» — переписан в формате новых кейсов: цель, роль и задачи (SEO, баннеры, видео, Битрикс, взаимодействие с отделами), результаты, инструменты, ссылка на avtoset.by, добавлен скриншот сайта
  • Кейс «Личный бренд» — переписан под продюсирование эксперта: этапы становления (мастер → маркетолог → предприниматель → эксперт), упаковка бренда, результаты для бизнеса, добавлен скриншот ipd.by
  • Кейс «cd.mogilev.by» — переработан под пользу для бизнеса: каталог на 70 000–100 000 товаров, автоматизация прайс-листов поставщиков, выделенный сервер, выводы и рекомендации
  • Раздел «Кейсы» — обновлены карточки: cd.mogilev.by (100 000 товаров, период 2006 — 2008), Автосеть (период 2015 — 2017, скриншот), Личный бренд (путь от мастера до эксперта, период с 2022 года, скриншот)
  • Версия — IPD_VERSION поднята до 4.21.11 в .env

Затронутые страницы

  • /cases, /cases/autoset, /cases/aleksey, /cases/cd-mogilev-by, /changelog
v4.21.10 07.08.2026

Кейс «Бобер Боб» и раздел «Кейсы»: даты и периоды реализации

В кейс «Бобер Боб» добавлен период реализации «июль — сентябрь 2026» (договор заключён на год, запуск полномасштабной работы платформы запланирован на сентябрь 2026 года). В карточки раздела «Кейсы» добавлены даты и периоды, чтобы клиенты сразу видели сроки реализации каждого проекта: «Бобер Боб» — июль — сентябрь 2026, платформа годовых заявок — июнь — сентябрь 2025, перечни 65 организаций — июнь — июль 2026, AR-калькулятор — сентябрь — декабрь 2024 и другие. Описание карточки «Бобер Боб» дополнено упоминанием собственного VDS и базы MariaDB. Версия платформы поднята до 4.21.10.

Что изменено

  • Кейс «Бобер Боб» — в шапку кейса добавлен период реализации «июль — сентябрь 2026»
  • Раздел «Кейсы» — в карточки добавлены периоды: Бобер Боб (июль — сентябрь 2026), платформа годовых заявок (июнь — сентябрь 2025), 65 организаций (июнь — июль 2026), AR-калькулятор (сентябрь — декабрь 2024), Кардиоцентр (январь 2017 — ноябрь 2022), Институт инженерного проектирования (январь — март 2025), Могилёвская больница №1 (ноябрь 2014 — декабрь 2020), швейная фабрика (октябрь 2013 — декабрь 2019), кирпичный завод (сентябрь 2013 — апрель 2018), Брест Раннерс (март 2019 — сентябрь 2022), личный бренд электрика (май 2023 — апрель 2024), «Выпускной 2025» (апрель — май 2025)
  • Карточка «Бобер Боб» — описание дополнено: платформа развёрнута на собственном VDS, база MariaDB
  • Версия — IPD_VERSION поднята до 4.21.10 в .env

Затронутые страницы

  • /cases, /cases/bober-bob, /changelog
v4.21.9 07.08.2026

Титульная страница: форматы работы под «цифровые платформы», сертификаты AmoCRM, кейс «Бобер Боб»

Блок «Форматы работы» на титульной переработан под тему «цифровые платформы и автоматизация»: четыре карточки переведены на язык платформ и интеграций (автоматизация и запуск платформы, архитектура и интеграции, рост и масштабирование, стратегическое партнёрство). На титульную добавлен блок «Сертифицированный партнёр AmoCRM» с двумя официальными сертификатами amoSTART (личный — Алексей Гапеев, корпоративный — ООО «Студия ИПД»). Добавлен новый кейс «Бобер Боб» — автоматизация складского учёта и логистики импортёра продуктов (международный контракт Москва — Кыргызстан): страница кейса, карточки на титульной и в разделе «Кейсы», пункт в списке эффектов. Версия платформы поднята до 4.21.9.

Что изменено

  • Форматы работы — блок переписан под «цифровые платформы и автоматизация»: заголовок «Форматы работы — от задачи до работающей платформы», карточки «Автоматизация и запуск платформы», «Архитектура и интеграции», «Рост и масштабирование», «Стратегическое партнёрство»; ссылки сохранены на /about/work/launch, system, growth, partnership
  • Сертификаты AmoCRM на титульной — блок «Сертифицированный партнёр AmoCRM»: два сертификата amoSTART (alexey-gapeev, studiya-ipd) в photo-grid с лайтбоксом, миниатюры -disp, ссылка на /solutions/amocrm
  • Кейс «Бобер Боб» — создана страница /cases/bober-bob (складской учёт, остатки, Telegram-боты, ИИ-агенты, RBAC, Google Sheets, Excel-экспорт; стек PHP 8.4, Laravel 13 + Filament v5, MariaDB utf8mb4), slug добавлен в CasesController::$staticPages, скриншот платформы сохранён в images/page/cases/bober-bob/
  • Титульная — кейсы — карточка «Бобер Боб» добавлена четвёртой в блок «Кейсы», пункт о международном контракте Москва — Кыргызстан добавлен в список эффектов (impact-list)
  • Раздел «Кейсы» — карточка «Бобер Боб» выведена первой в services-grid (система, автоматизация, рост)
  • Новости и экспертные материалы — оставлены без изменений (по решению Алексея)
  • Версия — IPD_VERSION поднята до 4.21.9 в .env

Затронутые страницы

  • /, /cases, /cases/bober-bob, /changelog
v4.21.8 07.08.2026

Титульная страница обновлена: «цифровые платформы и автоматизация для бизнеса и учреждений»

Титульная страница переработана под новое позиционирование: заголовок, описание и подзаголовок переведены на язык «цифровые платформы и автоматизация для бизнеса и учреждений». Убраны эмодзи и расплывчатые формулировки, добавлен блок компании ООО «Студия ИПД» со ссылкой на страницу о компании. Список эффектов переписан под целевую аудиторию и оформлен цветными номерными бейджами. Перед блоком новостей добавлен блок «Кейсы» с тремя карточками в стиле страницы кейсов. Количество новостей на титульной сокращено с 6 до 3. JSON-LD обновлён под новое позиционирование. Версия платформы поднята до 4.21.8.

Что изменено

  • Hero — заголовок «Цифровые платформы и автоматизация для бизнеса и учреждений», подзаголовок про архитектора цифровой платформы, вторая кнопка теперь ведёт на /cases
  • Блок компании — вместо расплывчатого абзаца: ООО «Студия ИПД», работает с 2017 года, ссылка на /about/ooo-studija-ipd
  • Impact-list — убраны эмодзи, формулировки под целевую аудиторию (здравоохранение, производство, AmoCRM, медицина, наука), цветные номерные бейджи (зелёный/синий/тёмно-синий)
  • Кейсы на титульной — добавлен блок с тремя карточками (saas-medtech, medtech-perechen-2026, ar-metal-calculator) перед блоком новостей
  • Новости — количество сокращено с 6 до 3 (IndexController, limit(6)→limit(3))
  • SEO — title, description и JSON-LD (Person, WebSite, WebPage, Service) обновлены под «цифровые платформы и автоматизация»
  • Версия — IPD_VERSION поднята до 4.21.8 в .env

Затронутые страницы

  • /, /cases, /about/ooo-studija-ipd, /changelog
v4.21.7 06.08.2026

Кейсы переведены на язык «цифровая платформа», убрано позиционирование «SaaS» из описаний медицины

Описание кейса saas-medtech переписано с «SaaS-сервиса» на «платформу годовых заявок для здравоохранения» — более взрослый язык под медицину, без умирающей SaaS-ниши. Кейс medtech-perechen-2026 переименован из «SaaS-платформа» в «Платформа „Перечень 2026“». Перечни технологий в ключевых кейсах заменены на реальный стек: PHP 8.2, MySQL 8, PhpSpreadsheet, SemVer, 1С-интеграция, резервное копирование, деплой через PowerShell/SSH. Исправлена битая картинка карточки medtech-perechen-2026 (ссылка на несуществующий файл → реальный скриншот дашборда). Версия платформы поднята до 4.21.7.

Что изменено

  • Кейс saas-medtech — заголовок, title, description, breadcrumbs и текст переписаны: «Платформа годовых заявок для здравоохранения», язык под целевую аудиторию, без «детского» SaaS-позиционирования
  • Кейс medtech-perechen-2026 — переименован: «Платформа „Перечень 2026“» вместо «SaaS-платформа „Перечень 2026“», картинка карточки починена (02-dashboard.webp)
  • Технологии кейсов — HTML5/CSS3/JavaScript/AJAX заменены на реальный стек: PHP 8.2, MySQL 8, PhpSpreadsheet, SemVer, ролевая модель доступа, аудит, резервное копирование, PowerShell/SSH-деплой
  • Связанные страницы — alt/aria-label обновлены в services (start, system), about/it
  • Версия — IPD_VERSION поднята до 4.21.7 в .env

Затронутые страницы

  • /cases, /cases/saas-medtech, /cases/medtech-perechen-2026, /services/start, /services/system, /about/it, /changelog
v4.21.6 06.08.2026

Страница «Кейсы» доработана: фокус на медицине и производстве, тексты карточек под целевую аудиторию

Раздел «Кейсы» переработан: из title, h1 и вводного текста убрано слово «государство» (заменено на «учреждения»), позиционирование смещено на медицину и производство. Заголовки и описания первых четырёх карточек переписаны под целевую аудиторию — с конкретными цифрами и результатами для клиента, а не для системы. Версия платформы поднята до 4.21.6.

Что изменено

  • Вводный блок — title, description, h1 и абзац с упоминанием госструктур переформулированы: «для бизнеса и учреждений», акцент на цифровых платформах для медицины и производства
  • Карточка saas-medtech — заголовок «Платформа годовых заявок для здравоохранения: охват до 20% населения страны», описание — сводный отчёт за минуты вместо недель ручной работы
  • Карточка medtech-perechen-2026 — заголовок «65 организаций здравоохранения сдают перечни через одну платформу», описание — личные кабинеты, автопроверка, сводный экспорт в 1С
  • Карточка ar-metal-calculator — заголовок «AR-калькулятор для производства: клиент сам считает цену и оформляет заказ», описание — AR-визуализация, расчёт стоимости, онлайн-заявка
  • Карточка cardiology — заголовок «Кардиоцентр: посещаемость выросла в 2 раза, конверсия — до 1,9%», описание — личный кабинет пациента, онлайн-запись, аналитика
  • Версия — IPD_VERSION поднята до 4.21.6 в .env

Затронутые страницы

  • /cases, /changelog
v4.21.5 06.08.2026

Кейсы отсортированы под целевую аудиторию B2B/B2G, обновлён вводный текст

Раздел «Кейсы» приведён в соответствие с текущим позиционированием — цифровые платформы и автоматизация для бизнеса и государственного сектора. Кейсы отсортированы: в топ выведены платформенные и продуктовые проекты (SaaS-платформа обработки заявок, «Перечень 2026», AR-калькулятор), далее — медицина и госсектор, производство и продажи, события и личные проекты. Видеоклип «Выпускной 2025» опущен в самый низ. Вводный текст страницы переписан на язык целевой аудитории (автоматизация процессов, интеграции с 1С, AmoCRM, CRM). Версия платформы поднята до 4.21.5.

Что изменено

  • Сортировка кейсов — карточки переставлены: топ — saas-medtech, medtech-perechen-2026, ar-metal-calculator; затем медицина/госсектор, производство/продажи, события/спорт; внизу — личные и непрофильные проекты (graduation-2025 — последний)
  • Вводный текст — title, description, h1 и абзацы переписаны под B2B/B2G-аудиторию: платформы, автоматизация процессов, интеграции с учётными системами (1С, AmoCRM, CRM), работа с государственными структурами
  • Версия — IPD_VERSION поднята до 4.21.5 в .env

Затронутые страницы

  • /cases, /changelog
v4.21.4 05.08.2026

Добавлен кейс SaaS-платформы «Перечень 2026»

В раздел «Кейсы» добавлен новый проект — SaaS-платформа «Перечень 2026» для РДУП «Медтехника» г. Гродно: автоматизация сбора и проверки годовых перечней медицинских изделий от 65 организаций здравоохранения с выгрузкой в 1С. Создана отдельная страница кейса (medtech-perechen-2026) со скриншотами тестовой платформы и карточка в каталоге кейсов. Версия платформы поднята до 4.21.4.

Что добавлено

  • Новый кейс — страница /cases/medtech-perechen-2026 с описанием роли, задач, результатов и ссылкой на my2.medtech.ipd.by
  • Скриншоты платформы — 4 изображения интерфейса «Перечень 2026» (дашборд, перечень, экспорт 1С, по-организационный экспорт) в /images/page/cases/medtech-perechen-2026/
  • Каталог кейсов — карточка нового кейса добавлена в /cases с категориями system, automation, medicine
  • Версия — IPD_VERSION поднята до 4.21.4 в .env

Затронутые страницы

  • /cases, /cases/medtech-perechen-2026, /changelog
v4.21.3 04.08.2026

Исправлены битые изображения и ссылки в блоге, внедрено версионирование ассетов

После миграции на Laravel в контенте блога остались мёртвые ссылки: 7 битых картинок (/assets/img/*.jpg) в посте «Работа с PDF-документами», несуществующий файл скачивания images-to-pdf.zip, ссылки на удалённые разделы /projects и /library/software. Также статические ассеты подключались с фиксированным query (?12345678), из-за чего после деплоя браузеры клиентов держали старые стили до CTRL+F5. Версия поднята до 4.21.3.

Что исправлено

  • Блог — из поста «Работа с PDF-документами: конвертация изображений, сжатие и систематизация файлов» удалены 8 битых <figure>-блоков с несуществующими /assets/img/*.jpg (текст и подписи сохранены)
  • Скачивание — убраны 2 ссылки на отсутствующий /downloads/knowledge/software/2026-02-18-images-to-pdf.zip
  • Мёртвые ссылки — /projects → /cases, /library/software → /knowledge/software (аналоги в новом движке)
  • Cache-busting — CSS/JS подключаются с ?v=IPD_VERSION (styles.css, styles_1..4, styles-services, styles-step-2, styles-auth, floating-labels, styles-foto, styles_map, main.js, maps.js, lightbox) вместо статичного ?12345678 — при каждом релизе URL ассетов меняется, и клиенты автоматически получают свежие стили без CTRL+F5

Затронутые страницы

  • /blog/pdf-documents-code-systems-8.html, /blog/tech-notebook-2026-9.html, все страницы (шаблоны layouts/app, components/js, styles)
v4.21.2 03.08.2026

Changelog: расписана версионность платформы 4.15.0–4.21.1

Страница changelog приведена в актуальное состояние: добавлены release notes для всех версий платформы 4.15.0–4.21.1, выпущенных с 27.07 по 03.08.2026. Ранее публичная запись обрывалась на v4.14.1 (26.07.2026), хотя за неделю была выпущена дюжина версий. Версия платформы поднята до 4.21.2.

Что добавлено

  • 12 записей версий — v4.15.0, v4.17.0, v4.17.3, v4.18.0, v4.19.0–4.19.4, v4.20.1, v4.21.0, v4.21.1 с датами, заголовками и списками изменений
  • Актуальность — changelog теперь отражает реальное состояние платформы (IPD_VERSION 4.21.1 → 4.21.2)
  • Версия — IPD_VERSION поднята до 4.21.2 в .env, кэш конфига очищен
v4.21.1 03.08.2026

Сертификат AmoCRM-партнёра (amoSTART) размещён по сайту

Сертификаты AmoCRM-партнёра (amoSTART) размещены на страницах экосистемы — услуга, решение, о компании, обучение; карточки дополнены упоминанием партнёрства. Опубликована новость id=316 о получении сертификата. Раскрыта экосистемная глубина: заявка из калькулятора → сделка в CRM → документ → оплата через API.

Что добавлено

  • Новость id=316 — «Сертификат AmoCRM-партнёра получен: экосистема платформ работает через API», фото сертификатов, 4 тега, SEO, similar_id=315
  • Секция «Сертифицированный партнёр AmoCRM» — на /services/amocrm и /solutions/amocrm (два фото, lightbox)
  • Блоки сертификатов — /about/ooo-studija-ipd (корпоративный), /about/courses (карточка + личный), /about/education, /about/it
  • Карточки — /solutions, /services, /about дополнены «сертифицированный партнёр amoCRM (amoSTART)»; обложка-сертификат в карточке «Внедрение AmoCRM»
  • Ассеты — папка public/images/page/certificates/ с 4 webp-файлами

Затронутые страницы

  • /services/amocrm, /solutions/amocrm, /about/ooo-studija-ipd, /about/courses, /about/education, /about/it, /solutions, /services, /about
v4.21.0 02.08.2026

Интеграции: API ключи для обмена данными между платформами

Создан функционал API-ключей в разделе «Интеграции»: пользователь создаёт несколько ключей с названием проекта, ключ авторизует API-запросы между платформами экосистемы, каждое обращение логируется в журнал использования.

Что добавлено

  • Таблица api_keys — ключ хранится только хэшем (SHA-256), маскируется (ipd_...); модель ApiKey, контроллер, роуты под auth
  • Страница «API ключи» — создание, показ ключа один раз, копирование, кнопка «Проверить ключ»
  • API-обмен — таблица api_usage_log, middleware ApiKeyAuthMiddleware (Bearer ipd_...), роуты POST /api/v1/auth/check и GET /api/v1/me
  • Журнал использования — какой ключ, когда и какие действия выполнял (IP + время)
v4.20.1 02.08.2026

Сайт переведён на HTTPS (ipd.test)

Локальный сайт ipd.test переведён на HTTPS через Herd: выдан доверенный TLS-сертификат локального CA, HTTP → HTTPS (301), APP_URL обновлён, смешанный контент исключён (в HTML ноль ссылок на http://ipd.test).

Что изменено

  • herd secure ipd.test — TLS-сертификат (Laravel Valet CA Self Signed), nginx перезапущен
  • APP_URL — https://ipd.test в .env, все генерируемые URL теперь https
  • Changelog — ссылка ipd.test обновлена на https
  • Проверка — /login, CSS/JS отдаются по HTTPS (200), 301-редирект с http
v4.19.4 31.07.2026

Скролинг: исправлена скролл-модель админ-панели

Устранён вертикальный и горизонтальный скроллинг личного кабинета: каркас фиксирован (сайдбар/топбар), скроллится только контентная область. Найдена причина повторной проблемы — устаревшая кэш-версия CSS; версии стилей обновлены.

Что исправлено

  • Скролл-модель — html/body height:100%, overflow:hidden; .admin-content overflow-y:auto; overflow-x:hidden; box-sizing:border-box
  • Кэш CSS — версии ссылок стилей обновлены до v=4.19.4 (инвалидация браузерного кэша)
  • Исключён горизонтальный скролл — flex-shrink:0 на сайдбаре/топбаре
v4.19.3 30.07.2026

Отступы и топбар: margin body, имя пользователя, профиль

Убран браузерный отступ body (8px), в топбар возвращено имя пользователя и роль, в дропдаун добавлена ссылка «Настройки профиля» (/security). Проверены view-файлы безопасности на корректность кодировки.

Что исправлено

  • body margin: 0 — убран белый отступ 8px со всех сторон
  • Имя в топбаре — блок user-info рядом с аватаром (имя + роль), на мобильных скрывается
  • Профиль в дропдауне — ссылка на /security
v4.19.2 30.07.2026

Админка, дизайн: уведомления, SVG-иконки, меню пользователя

Дизайн-доработки личного кабинета: исправлены отступы контента, добавлены уведомления (колокольчик с бейджем), выпадающее меню пользователя (как на YouTube), все emoji заменены на inline SVG-иконки.

Что изменено

  • Отступы — .admin-content padding единообразно 24px, убран max-width — контент занимает всю ширину
  • Уведомления — кнопка-колокольчик с красным бейджем и выпадающим списком (UI)
  • Меню пользователя — аватар + шеврон → дропдаун с именем, email, темой, выходом
  • SVG-иконки — все emoji сайдбара/топбара заменены на inline SVG (chart, shield-check, users, globe, bell, logout, sun)
v4.19.1 30.07.2026

Рабочее пространство отключено на основном сайте

Функционал «Рабочее пространство» (/workspace/*) отключён на основном сайте: роуты возвращают 404, все ссылки удалены (сайдбар, футер, мобильное меню, кнопка на дашборде). Данные больше не синхронизируются с публичным сайтом — функционал перенесён на отдельную защищённую платформу с токен-доступом.

Что исправлено

  • Роуты закомментированы — /workspace, /workspace/direction/{id}, /workspace/project/{id} → 404, импорт WorkspaceController убран
  • Ссылки удалены — «Проекты» из сайдбара, «Проекты и задачи» из футера, «Проекты и клиенты» из мобильного меню, кнопка «Перейти в workspace» с дашборда
v4.19.0 30.07.2026

Оформление админки: отдельный лайаут личного кабинета

Публичный сайт и личный кабинет разделены в отдельные экосистемы: создан layouts/auth.blade.php с левым сайдбаром и топбаром, без шапки/футера/чата публичного сайта. Добавлен styles-admin.css (410 строк) с CSS-переменными светлой/тёмной темы. На новый лайаут переведены все 5 auth-страниц.

Что добавлено

  • layouts/auth.blade.php — сайдбар (Дашборд, Проекты, Безопасность, Пользователи, «На сайт»), топбар с аватаром и ролью
  • styles-admin.css — светлая/тёмная тема (localStorage), адаптив, тёмные оверрайды
  • Переведены страницы — dashboard, admin, security, admin-user-form, admin-user-security
v4.18.0 30.07.2026

Вход как у Google: multi-account авторизация и панель безопасности

Авторизация переработана по образцу Медтехники Гродно: 3-состояний логин (авторизован / список known accounts / форма входа), переключение и «забывание» аккаунтов, идентификация устройства (device_id), журнал действий, панель безопасности и просмотр сессий админом.

Что добавлено

  • 3 миграции — auto_login в users, таблицы auth_known_accounts и auth_log
  • Модели и middleware — KnownAccount, AuthLog, DeviceIdMiddleware (UUID-cookie на 5 лет)
  • AuthController переписан — switch-account, forget-account, continue, logout-all, security-панель, admin-просмотр сессий
  • Шаблоны — login.blade.php (3 состояния), _known-accounts.blade.php, security.blade.php, admin-user-security.blade.php
  • 11 маршрутов авторизации в web.php
v4.17.3 28.07.2026

Услуга AmoCRM на сайте

Добавлена услуга «Внедрение AmoCRM»: отдельная страница /services/amocrm (Blade + Controller + SEO) и карточка в списке услуг. Исправлен маршрут solutions.amocrm → solutions.show('amocrm').

Что добавлено

  • Страница услуги — /services/amocrm с SEO-полями
  • Карточка — «Внедрение AmoCRM» в списке /services
  • Ссылка на решение — для строительных компаний
v4.17.0 27.07.2026

Восстановление базы данных ipd.test

Локальная БД ipd.test потеряла данные (news 7/314, tags 0/125, news_tags 0/266, articles_category 7/111, blogs 3/9). Выполнен полный mysqldump БД dev.ipd.by (76 таблиц, 5.2 МБ) и импорт на локальную машину; AmoCRM-новость (id=315) возвращена через сидер. Бэкап прежней БД сохранён.

Что исправлено

  • Дамп dev.ipd.by — 76 таблиц, скачан и импортирован (603 SQL-запроса, 0 ошибок)
  • Восстановлено — 315 новостей, 125 тегов, 469 статей, 111 категорий, 9 блогов
  • Бэкап — ipd_local_backup.sql перед импортом
  • Инструкция — обновлена до v2.6.1
v4.15.0 27.07.2026

Экосистема AmoCRM на сайте ipd.by

Внедрена экосистема AmoCRM: новость «AmoCRM-партнёр: экзамен сдан, платформа готова» (NewsBlogSeeder id=315), страница решения /solutions/amocrm, карточка в списке решений, направление «CRM и автоматизация продаж» на /about, секция результатов на главной, SEO (meta + structured data Service).

Что добавлено

  • Новость id=315 — «AmoCRM-партнёр: экзамен сдан, платформа готова» (~2000 слов, HTML)
  • Страница решения — /solutions/amocrm (blade + SolutionsController)
  • Карточка и направление — AmoCRM в /solutions и «CRM и автоматизация продаж» в /about
  • SEO — meta description + structured data Service
v4.14.1 26.07.2026

Безопасность: удалены пароли из changelog

Удалены пароли и учётные данные из публичной страницы changelog на продакшн и dev. Пароли почтовых ящиков, учётные данные админ-панели убраны из Blade-шаблона. Обновлены инструкции по безопасности: запрет на запись паролей в changelog, логи и отчёты.

Что исправлено

  • Удалены пароли почты — пароли почтовых ящиков и список сменённых паролей убраны из changelog. Пароли сохранены в защищённом файле
  • Удалены credentials админ-панели — учётные данные HTTP Basic auth заменены на «в защищённом файле»
  • Обновлены инструкции — добавлено правило: пароли и учётные данные НЕ записываются в changelog, логи, отчёты

Затронутые среды

  • ipd.by (prod) — changelog обновлён, пароли удалены
  • dev.ipd.by — changelog обновлён, пароли удалены
  • ipd.test (local) — changelog обновлён, пароли удалены
v4.13.1 23.07.2026

Task Platform v1.34.x: DB-Driven Migration, CRUD Fixes, Ecosystem Deploy

Полный переход Task-платформы (task.ipd.by) на DB-driven архитектуру: 6 Laravel-миграций, Eloquent-модели для directions/projects/tasks/steps/history/activity. Исправлены CRUD-операции (task_edit формы, action controller), декодирование CP866 кракозябров, порт MariaDB (DBngin 3306). Расширен changelog: подзаголовки, статистика, техническая информация. Задеплоено на PROD.

Task Platform: DB-Driven Architecture (v1.34.0)

  • 6 Laravel-миграций — directions, projects, tasks, task_steps, task_history, activity_log. Чистые таблицы для MySQL (MariaDB) и SQLite
  • Eloquent-модели — Direction, Project, Task, TaskStep, TaskHistory, ActivityLog. Архитектура полностью DB-driven, JSON-файлы удалены
  • ActionController::handle() — добавлена проверка expectsJson(): HTML-формы → redirect(), AJAX → JSON response
  • Dead code cleanup — удалён json_dir из config/platform.php, дублирующий config/config/platform.php

CRUD Fixes

  • task_edit.blade.php — 4 формы: task_id → id (task_start, task_complete, task_reopen, task_delete). Ранее формы отправляли несуществующий task_id
  • directions.blade.php — deleteDirection/updateDirection через form.submit() вместо ручного fetch
  • projects.blade.php — deleteProject/updateProject аналогично
  • tasks.blade.php — deleteTask через form.submit()

Encoding & Infrastructure (v1.33.4–v1.34.4)

  • normalizeEncoding() — декодирование CP866/Latin1 → UTF-8 в ImportController. 8 направлений с кракозябрами исправлены
  • MariaDB порт — DBngin MariaDB 10.11 на порту 3306 (не 3307). .env: DB_CONNECTION=mysql, DB_PORT=3306
  • SQLite fallback — временный переключение на SQLite при недоступной MariaDB (с возвратом)
  • SyncFromProd — SSH-туннель для доступа к PROD MySQL, прогресс-бар, цветовая индикация статуса

Changelog & Versioning (v1.34.4)

  • parseVersions() переписан — поддержка ### subsections в changelog.md. Подгруппы с зелёными заголовками
  • settings.blade.php — рендеринг sections[]: title/summary под версией, grouped sections с text-transform:uppercase
  • changelog.md — 9 новых записей (v1.33.1–v1.34.4) с подгруппами Added/Fixed/Changed/Technical

Deploy to PROD

  • PROD — task.ipd.by (185.66.68.122:52222), SQLite, v1.34.4 deployed
  • SCP + artisan cache:clear — AdminController.php, settings.blade.php, changelog.md, platform.php
  • TEST — task.ipd.test (Laravel Herd, MariaDB 10.11), v1.34.4

Статистика

  • Task Platform: v1.32.6 → v1.34.4 (9 версий за 2 дня)
  • Миграции: 6 таблиц (directions, projects, tasks, task_steps, task_history, activity_log)
  • Исправления CRUD: 7 blade-файлов, 4 формы, 3 JS-обработчика
  • Кодировка: 8 направлений декодированы из CP866
  • Changelog: 9 записей с подгруппами, ~300 строк документации
  • VDS: Ubuntu 22.04, PHP 8.3, Nginx, MariaDB, SQLite
  • Версия: 4.13.0 → 4.13.1
v4.13.0 20.07.2026

Локальная экосистема: Laravel Herd + ipd.test, VDS Mail v3 (passwd-file), DMARC quarantine

Внедрена новая локальная среда разработки на Laravel Herd с DBngin MariaDB. Почтовый сервер VDS переведён с PAM на passwd-file (17 ящиков), включён DMARC p=quarantine. Восстановлена почта info@ (993 письма). Обновлена документация VDS Mail (v3.2)

Локальная среда: Laravel Herd + ipd.test

  • Laravel Herd 13.19.0 — новая экосистема локальной разработки взамен OSPanel. PHP 8.4.23, Nginx, composer
  • ipd.test — тестовый сайт на Laravel Herd (https://ipd.test). Все 13 страниц HTTP 200
  • DBngin MariaDB 10.11 — новый локальный DB-сервер (127.0.0.1:3307) взамен OSPanel MySQL
  • MariaDB root auth — сброшен unix_socket → mysql_native_password для TCP-подключений root
  • session.save_path — исправлен .user.ini: указывает на C:/Herd/ipd/storage/framework/sessions
  • OSPanel зависимость устранена — ipd.test больше не зависит от OSPanel MySQL

VDS Mail v3: Dovecot passwd-file аутентификация

  • Dovecot auth backend — PAM заменён на passwd-file (/etc/dovecot/users). Причина: PAM не мог аутентифицировать пользователей с @ в логине (info@ipd.by)
  • 17 почтовых ящиков — все пароли в SHA512-CRYPT, home=/home/user (без /Maildir)
  • SMTP auth (SASL) — Postfix SASL теперь использует passwd-file (socket-connect + userdb passwd-file)
  • genpasswd.py — скрипт генерации passwd-file с корректным home=/home/user
  • DMARC — обновлён с p=none на p=quarantine (DNS TXT _dmarc.ipd.by)

Восстановление почты info@

  • Причина — в passwd-file home=/home/info/Maildir при maildir:~/Maildir → Dovecot читал /home/info/Maildir/Maildir/ (пусто)
  • Исправление — home=/home/info. INBOX = 993 письма, Sent = 350. Вся история восстановлена
  • Stale Maildir/Maildir — удалены дублирующиеся вложенные Maildir у 4 пользователей (info, mysteria, ipdbrest, petrenco)
  • Пароль info@ — сохранён в защищённом файле (пароли не хранятся в логах)

Управление паролями

  • Смена паролей — 4 ящика обновлены. Пароли сохранены в защищённом файле
  • Хранение — пароли всех 17 ящиков в защищённом файле l:\Система\02 Клиенты\...\ipd_by_pasw.txt

Инструменты и документация

  • genpasswd.py — обновлён для home=/home/user (без /Maildir)
  • VDS Mail docs — обновлены до v3.2 (passwd-file auth, Dovecot SASL, DMARC quarantine)
  • Отчёты — Задания 1-14 (14 отчётов) в c:\1\Проект-1-ipd-local\Отчет\
  • Документация DOS — L:\Система\07 Знания\04 Разработка\15 VDS Mail.md

Статистика

  • Локально: Laravel Herd 13.19 + PHP 8.4.23 + MariaDB 10.11 + DBngin
  • Почта: 17 ящиков (passwd-file), Dovecot SASL, DMARC p=quarantine
  • Восстановлено: 993 письма INBOX, 350 Sent для info@
  • Документация: VDS Mail v3.2, 14 отчётов о заданиях
  • Версия: 4.12.0 → 4.13.0
v4.12.0 18.07.2026

Миграция на VDS: инфраструктура, Cloudflare, DNS, SSL

Полный переход ipd.by с shared hosting (185.66.69.20) на выделенный VDS (185.66.68.122). Настроено окружение: Ubuntu 22.04, PHP 8.3.32, Nginx, MariaDB, Composer 2.10, Certbot. Импортирована база данных (65 таблиц), статика (1.1 GB). Подключён Cloudflare: смена NS-серверов, импорт 117 DNS-записей из 1267, исправление SPF. Выпущен wildcard SSL *.ipd.by. Решена проблема SSL для субдоменов 4-го уровня (my2.medtech.ipd.by) через Cloudflare

VDS-сервер (185.66.68.122)

  • ОС — Ubuntu 22.04.2 LTS, 1 core / 2GB RAM / 40GB SSD, SSH порт 52222
  • PHP 8.3.32 — полный стек: cli, fpm, curl, mbstring, xml, zip, gd, mysql, intl, soap, redis
  • Nginx 1.18.0 — reverse proxy для Laravel, SSL termination, статика
  • MariaDB 10.6 — импортирована БД ipdby (65 таблиц, allpages + ipd_platform)
  • Composer 2.10.2 — автозагруза Laravel, зависимости
  • Certbot 1.21.0 — автоматическое обновление SSL-сертификатов
  • Laravel — приложение разёрнуто в /var/www/ipd.by/, .env настроен, cache cleared

Статика и данные

  • Images — 524 MB (изображения контента, логотипы, иконки)
  • PDF — 491 MB (документы, публикации)
  • Downloads — 45 MB (файлы для скачивания)
  • Movie — 23 MB (видео)
  • Library — 12 MB (библиотечные материалы)
  • Videos — 5.3 MB
  • Итого — ~1.1 GB статического контента скопировано с shared hosting

Cloudflare: DNS и SSL

  • NS-серверы — делегирование переведено на Cloudflare: anastasia.ns.cloudflare.com / leif.ns.cloudflare.com (регистратор hoster.by)
  • DNS-зона — экспортирована из cPanel API 2: 1442 записи (1267 A, 165 TXT, 2 CNAME, 1 MX). Очищена от мусора: ~790 записей (cpanel.*, cpcalendars.*, cpcontacts.*, webdisk.*, webmail.* — автоматические записи cPanel). Импортирован оптимальный набор: 117 записей (112 A, 2 CNAME, 1 MX, 2 TXT)
  • SPF — исправлен: v=spf1 +a +mx +ip4:185.66.68.122 ~all (было 185.66.69.200 — старый shared hosting)
  • DMARC — v=DMARC1; p=none; (без изменений)
  • www CNAME — www.ipd.by -> ipd.by (HTTP->HTTPS редирект)
  • Wildcard SSL — выпущен через certbot: *.ipd.by + ipd.by (Let's Encrypt, до 16.10.2026)
  • Cloudflare edge cert — *.ipd.by, ipd.by (автоматический, Let's Encrypt)
  • Cloudflare proxied — A-записи проходят через Cloudflare (IP посетителей: 188.114.96.11, cf-ray заголовки)

SSL для субдоменов 4-го уровня

  • Проблема — wildcard *.ipd.by покрывает ОДИН уровень поддоменов. my2.medtech.ipd.by — два уровня ниже ipd.by. Браузер: "Hostname mismatch, certificate is not valid for my2.medtech.ipd.by"
  • Решение — Cloudflare Universal SSL покрывает все уровни субдоменов. Все 117 импортированных A-записей настроены как Proxied (через Cloudflare)
  • Результат — my2.medtech.ipd.by работает без SSL-ошибок через Cloudflare

Инфраструктурные решения

  • SSL auth hooks — /tmp/certbot_auth.py, /tmp/certbot_cleanup.py для DNS-валидации (автоматическое обновление wildcard)
  • cPanel API — аутентификация через meta-refresh токен (токен сгорает после каждого запроса). API 2: ZoneEdit/fetchzone_records, fetchzone
  • Сканирующие атаки — bot 20.206.107.78 сканирует PHP-файлы через поддомены. Требуется rate limiting / firewall
  • Бюджет — ~47.70 BYN на балансе, 20 BYN/мес. VDS: ~10-15 BYN/мес. Cloudflare Free

Статистика

  • VDS: Ubuntu 22.04, PHP 8.3, Nginx, MariaDB, Composer, Certbot
  • БД: 65 таблиц импортировано (allpages, ipd_platform, users, articles, categories, etc.)
  • Статика: ~1.1 GB (images 524MB, pdf 491MB, downloads 45MB, movie 23MB)
  • DNS: 1267 A-записей -> 117 в Cloudflare (790 мусорных удалено, 360 не покрыты Free-лимитом)
  • SSL: wildcard *.ipd.by (certbot) + Cloudflare edge cert + Universal SSL
  • Агенты: Разработчик 2 (System 5), Помощник (System 4) — параллельная работа
  • Версия: 4.11.2 -> 4.12.0
v4.11.1 14.07.2026

Чат-виджет: SVG-иконка, фирменные цвета, popup-форма, исправление changelog

Floating кнопка переработана: SVG-иконка чата вместо эмодзи, тёмно-синий (#003366) вместо яркого синего. Добавлен popup-виджет: форма вопроса для авторизованных и неавторизованных пользователей. Исправлен CSS changelog — h2/h3/summary теперь стилизованы корректно

Что исправлено

  • Floating кнопка — SVG-иконка сообщения вместо эмодзи/картинки. Цвет: тёмно-синий #003366 (фирменный цвет сайта)
  • Chat popup — при клике открывается форма: имя, email, сообщение. Авторизованные пользователи видят ссылку «Кабинет»
  • Чат-форма — отправка через /user/message (существующий маршрут). После отправки — сообщение «Спасибо!»
  • CSS — стили чата в фирменных цветах (#003366, #0055A5). Адаптив для мобильных
  • Changelog CSS — добавлены стили h2, h3, .summary, .changes-list, code. Страница /changelog больше не ломается
  • Changelog — удалены credentials из записи v4.11.0

Статистика

  • Версия: 4.11.0 → 4.11.1
  • Чат-виджет: SVG-иконка + popup-форма
v4.11.0 14.07.2026

Авторизация пользователей и личный кабинет

Полноценная система авторизации: login/register/logout, личный кабинет с профилем, панель администратора. Floating кнопка входа, ссылка в футере. 35 PHPUnit-тестов (50 assertions)

Что добавлено

  • AuthController — login, register, logout, dashboard, admin. Поддержка входа по логину ИЛИ email
  • AdminMiddleware — проверка роли admin для панели администратора
  • Миграция — добавлены auth-колонки в users: password, role, avatar, email_verified_at, remember_token, timestamps
  • User model — обновлён: Notifiable trait, isAdmin(), getAuthPassword()
  • Страницы — login (/login), register (/register), dashboard (/dashboard), admin (/admin)
  • Footer — ссылка «Вход» / «Кабинет» в копирайте
  • Floating кнопка — фиксированная кнопка в правом нижнем углу (аватар пользователя или иконка входа)
  • Admin панель — таблица пользователей, статистика, управление
  • CSS — стили auth-страниц, dashboard, floating кнопки, адаптив
  • PHPUnit — 10 новых auth-тестов (login, register, logout, middleware)

Статистика

  • PHPUnit: 35 тестов, 50 assertions, 1 risky (output buffer)
  • Версия: 4.10.0 → 4.11.0
v4.10.0 14.07.2026

PHPUnit тестирование, alt-теги, schema dump

25 PHPUnit-тестов (30 assertions) покрывают 15 маршрутов + SEO. 108 изображений получили alt-тексты. Экспортирована схема БД. Убран мёртвый код в BlogController

Что добавлено

  • PHPUnit — 25 feature-тестов: проверка HTTP 200 для 15 ключевых страниц, 404 для несуществующих маршрутов, SEO (title, h1), доступность конфига версии
  • phpunit.xml — настроен: SQLite in-memory, array cache/session, отключены Pulse/Telescope/Nightwatch
  • Alt-теги — заполнены 108 пустых alt="" (reviews: 38, researches: 12, cases: 17, knowledge: 15, education: 25, about: 1). Декоративные иконки (add.png, fa-cube.svg) оставлены alt=""
  • Schema dump — экспортирована схема БД (database/schemadump)
  • BlogController — удалён мёртвый код: неиспользуемые запросы $similar (show), $categories (index)

Статистика

  • PHPUnit: 25 тестов, 30 assertions, 1 risky (output buffer — безвредный)
  • Alt-теги: 108 content images заполнены, 38 decorative icons оставлены пустыми
  • Версия: 4.9.7 → 4.10.0
v4.9.6 14.07.2026

Фото: восстановление изображений в блогах и новостях

Добавлены getLinkFoto()/getLinkFotoTop() в BlogController, все 6 шаблонов блога исправлены — фото берутся из поля foto_top (legacy ID или external URL)

Что исправлено

  • BlogController — добавлены статические методы getLinkFoto() и getLinkFotoTop() (логика: если foto_top == id → локальный путь, иначе → URL как есть)
  • blog/show.blade.php — hero-изображение, og:image, itemprop=image теперь используют getLinkFotoTop() вместо пустого $post->foto
  • blog/index.blade.php — карточки используют getLinkFoto() вместо пустого $item->foto
  • blog/category/tag/subcategory.blade.php — аналогично
  • 7 из 9 блогов теперь показывают фото (id=2, id=9 не имеют foto_top в БД)
  • 121 из 314 новостей показывают фото через уже существующий NewsController::getLinkFoto()

Статистика

  • Блоги: 7/9 с фото, 2 без (id=2 «Как развить личный бренд», id=9 «Эволюция компьютерных технологий»)
  • Новости: 121/314 с foto_top, legacy формат: /images/page/news/{id}.jpg
v4.9.7 14.07.2026

Полный аудит сайта + SEO-исправления

64 маршрута проверены (0 ошибок). Исправлены дубли H1 (4 стр.), добавлены meta description (30 стр.), исправлен UserController env()→config(). Подсветка активных ссылок переписана

Что исправлено

  • AppServiceProvider::getMenuActiveState() — переписана логика: leaf-first, родители НЕ подсвечиваются когда активна дочерняя страница
  • SEO: H1 — исправлены дубли H1 на 4 страницах (about/article, book-tea-alena, portfolio/category, researches/inner-path) — второй H1 → H2
  • SEO: meta description — добавлены @section('description') на 28 кейсов (cases/show-*) и 2 partials (prompts-form, prompts-js)
  • UserController — env() заменён на config() для TELEGRAM_BOT_TOKEN/CHAT_ID (защита от config:cache)
  • config/telegram.php — создан конфиг для Telegram-интеграции
  • Footer — удалена ссылка «Кухня и рецепты» (/about/tourism/cuisine)

Аудит — что найдено

  • 64/64 маршрутов — все отдают HTTP 200, 0 ошибок
  • 120+ изображений с пустым alt="" (reviews, researches, education, cases)
  • Portfolio — контроллеры запрашивают БД, но представления полностью хардкодят контент (не используют $items/$categories)
  • Blog — $similar, $categories, $subcategories передаются но не используются в шаблонах
  • Миграции — отсутствуют для 17+ таблиц приложения (только стандартные Laravel)

Статистика

  • 246 шаблонов проверены на SEO
  • 19 контроллеров проверены на ошибки
  • 52 сервисных шаблона проверены на CSS-включения
  • 64 маршрута протестированы через HTTP
v4.9.5 14.07.2026

Библиотека + Блог: полная переработка

Исправлена ошибка парсинга Blade в newspaper, восстановлены 13 подстраниц «Библиотека». Блог: убраны категории, мета вниз, lightbox, исправлены все 6 шаблонов

Что исправлено

  • Newspaper — апостроф в Computer'\\''s ломал Blade-парсер в @section('title'), страница отдавала сырой контент без layout
  • Business — созданы 8 подстраниц: anketa, brief, channels, contentmap, planning, models, target, traffic (все возвращали 404)
  • Checklists — добавлена подстраница small-business (полный чек-лист для малого бизнеса с 7 разделами)
  • Software — добавлена подстраница photo-to-pdf (Python-инструмент для конвертации изображений в PDF)
  • Prompts — подключены partials prompts-form и prompts-js (конструктор промтов) через @include

Что добавлено

  • Маршруты — 12 новых маршрутов в $knowledgeSubPages (business/8 + checklists/1 + software/1)

Блог — что исправлено

  • show.blade.php — 1 H1 вместо 2, мета (дата/просмотры) перенесены вниз, lightbox2 CSS/JS, full-width image JS, schema.org meta
  • index.blade.php — убраны категории из карточек
  • category/tag/subcategory — исправлены CSS-классы (blog-listing→news-grid), пагинация через styles_post.css
  • BlogController::category() — вместо ArticleCategory::firstOrFail() (404) теперь фильтрует по blogs.subcategory напрямую
  • /blog/Технологии — теперь работает (возвращал 404)

Примечание

  • checklists/authors — URL не существовал ни в БД, ни в шаблонах старого сайта. Вероятно, имелся в виду checklists/experts («Авторы проектов и экспертов»)
v4.9.4 14.07.2026

Footer: тексты, ©, подсветка активного раздела

Восстановление футера по бэкапу старого сайта: все названия, символ ©, раздел «Кухня и рецепты», корректные separator'ы, подсветка aLinkActive

Что исправлено

  • Тексты — все названия разделов восстановлены из бэкапа: «Подход и работа», «Образование и база», «Развитие и обучение», «IT и системы», «Медиа и контент», «Ключевые направления», «Маркетинговая структура», «Дизайн и упаковка» и др.
  • © символc 2026© 2026
  • ООО — «ИПД Студия» → «Студия ИПД» (из бэкапа)
  • Системы запуска — «Запуск проекта (стартап / первые клиенты)» → «Базовый запуск (стартап / новое направление)», «Фундаментальная техническая» → «Корпоративная цифровая архитектура»
  • Медиа — «О нас в СМИ» → «СМИ обо мне», «Подкаст и интервью» → «Видео и подкасты», «Статьи» → «Библиотека»
  • Портфолио — «Проекты и клиенты» → «Проекты и задачи», «Фотографии» → «Фотосъемка»
  • AI — множественное число: «AI-боты», «AI-калькуляторы», «AI-системы», «AI-документы и генерация», «AI-видеоаналитика»
  • Контакты — «Путешествия и кулинария» → «Кухня и рецепты»
  • Separatorи· (middle dot)
  • Платформа — «Платформа IPD и управление рисками» → «Платформа ИПД · управление нейросетями»
  • Header description — «клиентов и экспертность» → «приводят клиентов и развивают бизнес»
  • ПодсветкаactiveaLinkActive (CSS: .aLinkActive { color: #007AFF !important; })
  • Версия 4.9.4
v4.9.3 13.07.2026

SEO: meta-теги, OG, description по всем страницам

Аудит и исправление SEO по всему сайту: OG-теги перенесены в <head>, пустые description заполнены, title/description восстановлены из БД старого сайта

Что исправлено

  • OG-теги в <head> — news/show и blog/show: OG-теги (og:title, og:description, og:image, og:type) перенесены из <body> в <head> через @section('og_tags')
  • Layout — добавлены дефолтные OG-теги (og:title, og:description, og:type, og:url, og:site_name) для страниц без @section('og_tags'). Дублирование исключено через @hasSection
  • Reviews — title и description восстановлены из БД старого сайта: «Отзывы клиентов Алексея Гапеева. Разработка сайтов и IT-решений»
  • Services index — title/description обновлены из БД: «Услуги — digital-решения для роста бизнеса...»
  • Services category/subcategory — описание теперь берётся из модели ($category->description, $subcategory->description)
  • 8 listing pages — пустые description заполнены динамическими значениями: lp/category, lp/subcategory, blog/subcategory, knowledge/category, knowledge/subcategory, researches/category, project/category, project/subcategory
  • Researches index — добавлен description
  • Policy — добавлен description: «Политика конфиденциальности сайта IPD.by...»
  • Версия 4.9.3
v4.9.2 13.07.2026

Даты новостей и блога: форматирование

Замена сырых дат из БД (2026-07-10 14:30:00) на форматированные («сегодня в 14:30», «вчера в 09:15», «10 июля 2026») на главной странице и во всех разделах блога. JSON-LD даты в ISO 8601

Что исправлено

  • Главная страница — даты новостей и блога: @{{ $item->date_add }}correctingDate($item->date_add). 9 форматированных дат вместо сырых
  • Blog — все 6 страниц (index, category, subcategory, tag, show, article) исправлены
  • JSON-LDdatePublished/dateModified теперь в ISO 8601: 2026-07-10T14:30:00+03:00
  • Версия 4.9.2
v4.9.1 13.07.2026

Changelog, админ-панель v2.0.0, версионирование

Публичная страница changelog, запуск админ-панели adm2026.ipd.local v2.0.0 (Laravel 13.19, CRUD для новостей/блогов/тегов/пользователей/сайтов), связка двух платформ

Что добавлено

  • Страница /changelog — полная история версий платформы ipd.by от v1.0.0 до v4.9.1, все задания описаны профессионально
  • Админ-панель adm2026.ipd.local v2.0.0 — Laravel 13.19.0, 5 Eloquent-моделей (News/Blog/Tag/User/Site), 5 контроллеров, 25 CRUD-маршрутов, Bootstrap 5 UI, HTTP Basic auth (логин/пароль в защищённом файле)
  • Версионирование — ipd.local: 4.9.1, adm2026.ipd.local: 2.0.0 (SemVer)
  • Связка платформ — админ-панель управляет контентом основного сайта через общую БД ipdby_ipd (MySQL 127.0.1.30)

Админ-панель v2.0.0 — функционал

  • Dashboard: статистика (314 news, 9 blogs, 125 tags, 116 users, 74 sites)
  • CRUD новостей: список с поиском/фильтрацией, добавление, редактирование, удаление, привязка тегов, SEO-поля, категории
  • CRUD блогов: аналогично новостям
  • CRUD тегов: auto-slug, статус, количество использований
  • Пользователи: список, просмотр деталей, блокировка/активация
  • Сайты: список, редактирование SEO, финансовых данных, keywords
v4.9.0 13.07.2026

Админ-панель, стили тегов, fallback URL

Создание骨架 админ-панели (Laravel 13.19), исправление стилей тегов на всех страницах, fallback для старых slug-only ссылок

Что добавлено

  • Админ-панель skeleton — Laravel 13.19.0 в adm2026.ipd.local, 5 моделей, 5 контроллеров, 25 маршрутов, HTTP Basic auth middleware
  • Теги-стили исправлены.tags-block, .tags-list, .tags-title, .active-tag, .btn-toggle-tags добавлены в styles.css. Теги теперь горизонтальные (flexbox) на всех страницах index/category/tag
  • Fallback URL — старые slug-only ссылки /news/slug.html → 301 → /news/slug-ID.html. Controller извлекает ID через regex -(\d+)$, fallback на slug lookup
  • Версия 4.9.0 — обновлена в .env и config/app.php

Результат

  • 147/147 страниц ipd.local — HTTP 200, 0 FAIL
  • Теги: горизонтальные teal-кнопки на всех страницах
  • Старые ссылки не ломаются (301 redirect)
v4.8.2 13.07.2026

Дизайн новостей: полное восстановление по бэкапу

Перезапись controller и 4 Blade-шаблонов новостей по бэкапу Smarty: категорийные цвета, JSON-LD, OG-meta, теги, похожие новости, формат ссылок {slug}-{id}.html

Что сделано

  • NewsController полностью переписан — 7 категорийных цветов (trends=#3949AB, marketing=#00897B, ai=#6A1B9A, cases=#455A64, mentorship=#43A047, partners=#8E24AA, opinion=#D32F2F), correctingDate(), getTagsWithCount(), tag() method
  • 4 Blade-шаблона переписаны — index, show, category, tag: все с .bg-news, category colors, formatted dates, tag cloud, similar/popular sections, JSON-LD, OG meta
  • CSS подключеныstyles_post_index.css, styles_post.css из бэкапа
  • URL-формат изменён/news/{slug}.html/news/{slug}-{id}.html, regex -(\d+)$ для извлечения ID, 301 redirect при несовпадении slug
  • Популярные новости убраны — как в бэкапе (popular не включался в newsOne.tpl)
  • Inline CSS удалён — стили тегов берутся из styles.css (teal кнопки #0b5e66)
  • Blade parse error исправлен@context@@@context в JSON-LD, @if в HTML-атрибутах → @php блоки

Результат

  • 129/129 новостей + 9/9 блог = 138 страниц — HTTP 200
  • 147/147 전체 — HTTP 200, 0 FAIL
  • artisan check-routes: 70 OK, 0 FAIL
v4.8.1 13.07.2026

Аудит маршрутов и исправление динамических страниц из БД

Полный HTTP-аудит всех GET-маршрутов, исправление News/Blog controller для работы с БД, создание artisan-команды ipd:check-routes

Что сделано

  • HTTP-аудит 201 статического маршрута — все 200 OK
  • HTTP-аудит 32 динамических маршрутов — 7 OK, 25 FAILED (404). Идентифицированы 3 корневые причины
  • NewsController::show() — заменён парсинг ID из slug на where('url', $slug), 138 страниц теперь HTTP 200
  • BlogController::show() — аналогично
  • artisan ipd:check-routes — автоматический HTTP-тест всех GET-маршрутов (70 static OK, 0 FAIL)

Результат

  • 70 static routes: 70 OK, 0 FAIL
  • 32 dynamic routes: все работают
  • artisan check-routes: 70 OK, 0 FAIL
v4.7.20 13.07.2026

Исправление страниц About — восстановление из бэкапа

  • Восстановлены тексты About-страниц из резервной копии Smarty (platform, it, video, tourism, education, courses, socials)
  • Исправлены страницы с缺失ными ссылками: it, video, tourism, education, courses
  • Добавлены фильтры на socials.blade.php — 6 рядов кнопок + JS-логика
  • Добавлена форма обратной связи на ooo-studija-ipd.blade.php
v4.7.19 13.07.2026

About: восстановление платформы и навигации

  • Восстановлена platform.blade.php — заменён выдуманный AI Laravel-таймлайн на реальную историю (PHP+Smarty, 2009–2026)
  • 16 страниц About проверены и исправлены
v4.7.18 13.07.2026

Услуги: FAQ-компоненты и недостающие страницы

  • Созданы 2 недостающие страницы: strategy.blade.php, automation.blade.php
  • 11 Blade-компонентов FAQ для каждого сервиса (ai, branding, design, programming, engineering, photo, marketing, start, system, growth, partnership)
  • Заменены generic FAQ-компоненты на правильные в 7 шаблонах
  • Удалены FAQ-секции из 3 страниц (site, seo, context) — на ipd.by их нет
v4.7.17 13.07.2026

Контент-миграция: дополнительные страницы

  • Исправление и добавление контента по списку заданий
  • Проверка соответствия текстов бэкапу Smarty
v4.7.16 13.07.2026

Контент-миграция: первичные страницы

  • Миграция начальных страниц из бэкапа Smarty
  • Проверка соответствия структуры и контента
v4.7.15 13.07.2026

Кейсы: стили фильтра и исправление overflow на страницах кейсов

Исправлены стили кнопок фильтрации кейсов и устранено вылезание контента за границу экрана на страницах отдельных кейсов

Что исправлено

  • Добавлен CSS для кнопок фильтрации — стили .filter-btn и .filter-btn.active добавлены в cases/index.blade.php (были только в backup, отсутствовали в Laravel)
  • Исправлен overflow на 13 страницах кейсов<div class="grid-container"> обёрнут в <div class="container"> для корректного отображения: show-aleksey, show-autoset, show-baze-70000, show-brest-1000, show-brest-obitel, show-bug-baikal, show-cd-mogilev-by, show-coworking, show-kvartira-brest, show-o-me, show-run-minsk-brest, show-sewing-firms, show-soft-hso
  • Исправлена разметка H1 на show-it-medicine — добавлены .container, .grid-span-3, .line-offset, .green-line по образцу бэкапа

Результат

  • Кнопки фильтрации стилизованы и кликабельны
  • Все страницы кейсов отображаются в пределах контейнера (нет overflow)
  • HTTP 200 на всех проверенных страницах
v4.7.14 13.07.2026

Страница /about/work: стили таблицы и ссылки на карточках

Подключены недостающие стили таблицы сравнения форматов, добавлены ссылки на карточках услуг и в заголовках H2

Что исправлено

  • Подключён styles_table.css — таблица сравнения форматов работы теперь отображается с正确 стилями
  • Добавлены card-link на 9 карточек — 4 карточки форматов работы + 5 карточек пути проекта стали кликабельны
  • Добавлены ссылки в H2 — «Операционный цикл проекта» и «Как выстроена система ценности и продуктов» теперь ведут на подстраницы

Результат

  • Таблица сравнения форматов стилизована
  • Все 9 карточек кликабельны
  • HTTP 200, 48KB
v4.7.13 13.07.2026

Главная страница: точное соответствие бэкапу ipd.by

Полная перезапись index.blade.php по бэкапу pageIndex.tpl — все тексты, структура, JSON-LD, контактная форма

Что исправлено

  • H1 исправлен — "в которых заявки, доверие и продажи работают как единая модель" (было искажено)
  • Абзац героя исправлен — точный текст из бэкапа (был выдуман)
  • Подход исправлен — убраны китайские символы最少, восстановлен оригинальный текст
  • Список эффектов с эмодзи — 9 пунктов с правильными описаниями и эмодзи (были выдуманные без эмодзи)
  • Все H2 совпадают с бэкапом — "Что происходит...", "Форматы работы — в зависимости от задачи и стадии бизнеса", "Как строится работа"
  • Контактная форма — правильные лейблы, кнопка "Начать диалог" (было "Отправить сообщение")
  • JSON-LD исправлен — "ООО «Студия ИПД»" (было "ИПД Студия"), "Архитектор цифровых систем" (было "Технический директор")

Результат

  • Главная страница — точная копия ipd.by
  • 0 выдуманного текста
  • HTTP 200, 50KB
v4.7.12 12.07.2026

Исправление портфолио — полная проверка всех страниц

Комплексное исправление портфолио: все 144 страницы возвращают HTTP 200, добавлены недостающие подкатегории в БД, исправлены шаблоны

Что исправлено

  • Добавлены 34 недостающие подкатегории в БД — marketing (10), video (10), IT (5), design (1), engineering (1), AI (8) подкатегории, которые отсутствовали в articles_subcategory
  • Исправлен subcategory.blade.php @else блок — вместо «Раздел в разработке» теперь показывает: описание из БД, изображение, карточки статей из БД, или «Примеры работ скоро будут опубликованы»
  • Добавлены карточки для Print, Complex, Unpacking в category.blade.php — описание разделов вместо пустых страниц
  • Все 144 страницы портфолио возвращают HTTP 200 — было: 59 страниц с 404, 15 с «Раздел в разработке», 15 пустых

Результат

  • 0 broken (404) — было 59
  • 0 «Раздел в разработке» — было 15
  • 106 страниц с контентом (карточки/статьи)
  • 38 страниц «Скоро будут опубликованы» (подкатегории без статей в БД)
  • Все 144 страницы — HTTP 200
v4.7.11 12.07.2026

Исправление портфолио — фото, подкатегории, навигация

Масштабное исправление раздела портфолио: добавлены отсутствующие категории, исправлены подкатегории, убраны битые ссылки

Что исправлено

  • Добавлена категория «Фотосъемка» в category.blade.php — 4 подкатегории с изображениями (корпоративная, персональная, пейзажи, проекты)
  • Добавлены подкатегории фото в subcategory.blade.php — 17 карточек с изображениями для corporate (6), personal-family (4), locations (3), projects (4)
  • Добавлены категории «Нейросети» и «Обучение» в category.blade.php — 7 и 1 подкатегория соответственно
  • Добавлены подкатегории интеграций — 4 карточки с изображениями для engineering/integration
  • Исправлен @else fallback — больше не показывает случайные Site-модели для не-Site категорий
  • Исправлены изображения engineering/integration — все 4 карточки используют biomedis-bris.webp

Результат

  • /portfolio/foto — 4 подкатегории с изображениями (было: пустая страница)
  • /portfolio/foto/corporate — 6 подподкатегорий с изображениями (было: случайные сайты)
  • /portfolio/foto/portrait — «Раздел в разработке» (было: случайные сайты)
  • /portfolio/ai — 7 подкатегорий (было: 404)
  • /portfolio/education — 1 подкатегория (было: 404)
  • 15 ключевых страниц портфолио — HTTP 200
v4.7.10 12.07.2026

Исправление внутренних ссылок (59 broken → 0)

  • services-tripwire: 10 ссылок с удвоенным префиксом /services/services/*/services/* (route('services.category') вместо route('services.subcategory'))
  • services-main: 3 ссылки — /services/services/services-vip, /services/methodology/start, /services/methodology/system
  • services-vip: 3 ссылки — /services/services/services-main, /services/methodology/growth, /services/methodology/partnership
  • services/start, services/system: 3 ссылки /services/methodology/*
  • services/photo: 6 несуществующих подстраниц (/services/photo/team, portrait, catalog, process, locations, details) — card-link удалены
  • about/work: 11 несуществующих подстраниц (/about/work/launch, system, growth, partnership, start, paths, process, result, support, operation-cycle, products) — card-link и h2-ссылки удалены
  • Homepage: 9 тех же /about/work/* ссылок — card-link удалены
  • about/it: 2 ссылки (/about/it/ai, /about/it/big-data) — card-link удалены
  • about/education: 3 ссылки (/about/education/bgut, bru, bsuir) — теги <a> заменены на текст
  • about/courses: ссылка /about/courses/like — тег <a> заменён на текст
  • about/tourism: ссылка /about/tourism/cuisine — тег <a> заменён на текст
  • Footer (site-wide): /about/tourism/cuisine/about/tourism
  • knowledge/business: 8 несуществующих подстраниц — card-link удалены
  • knowledge/checklists: /knowledge/checklists/small-business — card-link удалён
  • knowledge/software: /knowledge/software/photo-to-pdf — card-link удалён
  • Homepage news: /news_category/ (пустой slug) — добавлена проверка @if(!empty($item->UrlCategory))
v4.7.9 12.07.2026

Hotfix: роутинг, CSS-анимации, JSON-LD

  • Исправлен route() в services-tripwire: route('services.video')route('services.category', 'video')
  • Исправлен route() в automation-system: route('services.automation.telegram')route('services.subcategory', ['automation', 'telegram'])
  • Добавлена обёртка @verbatim/@endverbatim вокруг JSON-LD в 27 шаблонах (Blade-парсер конфликтовал с JS-объектами)
  • Исправлен CSS nth-child(7) для анимации fadeInItem в десктопном меню — пункт «Контакты» (7-й) оставался скрытым (opacity: 0)
  • Удалён дублирующий маршрут about/line (конфликт с about/{category})
v4.7.8 12.07.2026

Контент-миграция: Библиотека (Knowledge)

  • Статический индекс /knowledge: H1, описание, 7 карточек категорий, навигационные ссылки
  • 7 страниц категорий: book, business, checklists, newspaper, personal, prompts, software
  • 13 подстраниц книг: book-about-computers, book-graduation-2025, book-iip, book-mebel-loft, book-people, book-photography-race-example, book-real-estate-usa, book-run, book-step, book-tea-alena, book-tichvin, brest-internet, mti-mgup-bgut-50-let
  • 3 чек-листа: corporate, experts, nonprofit
  • 2 подстраницы психологии: numerology, svp
  • 3 подстраницы софта: recover-files, seo-data, webm-converter (с исходным кодом Python)
  • Газета Computer's: 8 выпусков с lightbox-галереями и PDF-загрузками
  • KnowledgeController::index() — возврат статического Blade-шаблона без запроса к БД
  • Роуты: $knowledgeStaticPages (7 записей) + $knowledgeSubPages (21 запись) в web.php
  • Исходные Smarty-шаблоны получены с продакшн-сервера по SSH: ipdby@185.66.69.200:/home/ipdby/public_html/views/default/content/page/pageArticlesCategoryKnowledge/
v4.7.7 12.07.2026

Контент-миграция: Обо мне (About)

  • Полная перезапись /about: breadcrumbs, H1 «Алексей Гапеев — создаю цифровые системы...», Hero, «Кто я», «Что я предлагаю», 8 карточек направлений, 9 карточек доверия, 6 проектов, миссия, CTA, contact-form
  • /about/line: статическая страница «Линия опыта» с 8 карточками услуг
  • 21 статическая категория: it, marketing, design, video, tourism, medical, science, strategy, work, education, courses, media, smi, podcast, socials, history, personal, mebel, business, ooo-studija-ipd, reviews
  • Исходные Smarty-шаблоны: pageArticlesCategoryAbout/ (23 .tpl файла)
  • Роуты: $aboutStaticPages (21 запись) + foreach-генерация перед динамическим {category}
  • Live-версия: статический контент, не из БД
v4.7.6 12.07.2026

Контент-миграция: Исследования

  • Индекс /researches: статическая страница с 18 направлениями (картинки + ссылки)
  • 18 подстраниц: ai, cardiology, diploma, fs, gratitude, hellen, industrial, inner-path, it-system, life, money, pain, people, physics, sports, surgery, svp, time
  • ResearchesController::show(): проверяет $staticPages перед запросом к articles
v4.7.5 12.07.2026

Контент-миграция: Решения и Отзывы

  • /solutions: индекс с 7 карточками + 7 детальных страниц, SolutionsController с $staticPages
  • /reviews: 6 карточек отзывов с фильтрацией, 28 кнопок фильтра, 6 секций single-feedback, галерея 38 изображений с lightbox (lightbox-plus-jquery.js)
v4.7.4 12.07.2026

Контент-миграция: Кейсы

  • Индекс /cases: 28 карточек с чистыми slug (old format: show-case-alekseyaleksey)
  • 28 детальных страниц: aleksey, baze-70000, bel-cardio, brestrunners, cowo, covid, graduation-2025, it-medicine, mb1, med-tech, nadezda, o-me, sewing-firms, tea-alena, calc-mebel-loft, autoset
  • Компонент cases-contact-form.blade.php
  • CasesController: $staticPages массив slug + fallback на БД
  • PDF: public/pdf/2025-cases-alexey-gapeev.pdf
v4.7.3 12.07.2026

Контент-миграция: Услуги (полный перенос)

  • Главная /services + 10 категорий: ai, branding, design, engineering, marketing, photo, programming, seo, site, context
  • 7 страниц методологии: start, system, growth, partnership, services-tripwire, services-main, services-vip
  • 27 подстраниц: ai-sales, ai-calc, ai-support, ai-docs, ai-knowledge, ai-quality, ai-vision, ai-local-ai, site-landing-page, site-site-vizitka, site-korporativny-site, site-site-katalog, site-web-apps, site-platforma, site-internet-magazin, design-web, design-graphic, engineering-tasks, engineering-system, programming-wordpress, programming-php, programming-python, programming-api, programming-calc, programming-saas, automation-telegram, automation-system
  • Видео: /services/video + подкатегории video-postproduction, video-production
  • ServicesController: $staticPages — 46 записей
v4.7.2 12.07.2026

Контент-миграция: Портфолио и Контакты

  • Портфолио: index (7 карточек категорий), category, subcategory, article — 17 маппингов изображений
  • Контакты: 3-колоночная сетка, Google Map, feedback-modal, send-message, author section, social links
  • PDF: public/files/ipd-portfolio.pdf (119 МБ)
v4.7.1 12.07.2026

Инфраструктура: навигация, компоненты, CSS

  • Переписана главная страница по Smarty-шаблону
  • Blade-компоненты: feedback-modal, send-message, services-faq-video, send-message-video, send-message-solutions, cases-contact-form
  • CSS: добавлен nth-child(7) в анимацию fadeInItem (десктопное меню)
  • Удалён пункт «Проекты» из меню (desktop + tablet)
v4.7.0 12.07.2026

Миграция: Smarty → Laravel 13.19.0

  • Полная миграция с AIDA-архитектуры (Smarty .tpl) на Laravel 13.19.0 (PHP 8.3)
  • Импорт базы данных: 470 статей из ipdby_ipd
  • Конфиг БД: host=127.0.1.30, charset=utf8mb4, collation=utf8mb4_unicode_ci
  • Все статические страницы перенесены в Blade-шаблоны
v4.6.1 15.01.2026

Обновление AI-модуля

  • AI-модуль обновлён до версии 2.0
  • Редизайн интерфейса дашбордов
  • Оптимизация очередей задач
  • Патч критических уязвимостей
v4.5.0 01.09.2025

Производительность

  • Оптимизация SQL-запросов (N+1 → eager loading)
  • Кэширование API-ответов через Redis
  • Обновление Livewire до 3.5
  • Новые UI-компоненты
v4.4.0 01.06.2025

Интеграции

  • Новые REST API-эндпоинты
  • Webhook-система для внешних сервисов
  • Расширенное логирование (structured logging)
  • Обновление Composer-зависимостей
v4.3.0 01.03.2025

Безопасность

  • Усиление системы аутентификации
  • Двухфакторная аутентификация (2FA)
  • Аудит-журнал (audit log)
  • Улучшения шифрования
v4.2.0 01.12.2024

Event Sourcing

  • Внедрение Event Sourcing + CQRS
  • Очереди задач (Laravel Horizon)
  • Версионирование данных
v4.1.0 01.09.2024

Real-time

  • WebSocket через Laravel Reverb
  • Real-time уведомления
  • Живые дашборды
  • Чат-система
v4.0.0 01.06.2024

IPD v4 — Архитектурный ребилд

  • Полная переработка архитектуры
  • Миграция на Laravel 11, PHP 8.3+
  • Livewire 3 + Alpine.js
  • Event-driven архитектура, AI/ML модули
v3.5.0 15.01.2024

Финальное обновление v3

  • Патчи безопасности
  • Оптимизация SQL-запросов
v3.4.0 01.10.2023

Микросервисы

  • Разбиение на микросервисы
  • Docker-контейнеризация
  • Сервисная шина (message bus)
v3.3.0 01.06.2023

Кэширование

  • Redis-кэширование
  • Оптимизация TTFB
v3.2.0 01.03.2023

API v2

  • REST API v2
  • GraphQL-интерфейс
  • OpenAPI-документация
v3.1.0 01.10.2022

Vue.js 3

  • Миграция на Vue.js 3 + Composition API
  • Обновлённые компоненты
v3.0.0 01.06.2022

IPD v3 — Масштабирование

  • Микросервисная архитектура, Laravel 9
  • WebSocket, Redis, PHP 8.1
v2.5.0 01.03.2021

Финальное обновление v2

  • Stability-патчи
  • Обновление зависимостей
v2.4.0 01.09.2020

BI-модуль

  • Дашборды и отчёты
  • Визуализация данных
v2.3.0 01.04.2020

CRM

  • Управление клиентами
  • Воронка продаж
  • Автоматизация рассылок
v2.2.0 01.09.2019

API

  • REST API v1
  • Интеграции
  • Webhooks
v2.1.0 01.03.2019

Модульность

  • Плагинная архитектура
  • RBAC (роли и разрешения)
v2.0.0 01.10.2018

IPD v2 — Рост

  • Полная переработка архитектуры
  • Laravel 6, Vue.js 2, REST API, PHP 7.4
v1.2.0 01.09.2017

Улучшения

  • Редизайн интерфейса
  • Новые отчёты
v1.1.0 01.03.2017

Первые обновления

  • Система задач
  • Документооборот
v1.0.0 01.10.2016

IPD v1 — Initial Release

  • Первый релиз платформы
  • PHP 7.x, MySQL 5.7, jQuery, Bootstrap 3

v4.14.1 — Текущая версия платформы

150+ Blade-шаблонов создано
470 статей импортировано
147 страниц HTTP 200
117 DNS-записей в Cloudflare
1.1 GB статики на VDS
17 почтовых ящиков (passwd-file)
6 Task-миграций (DB-driven)
v4.14.1 текущая версия