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

Changelog

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

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 (admin2026/ipd2026admin)
  • Версионирование — 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.9.2 — Текущая версия платформы

150+ Blade-шаблонов создано
470 статей импортировано
147 страниц HTTP 200
v2.0.0 админ-панель
v4.9.2 текущая версия