Qaynaq STUDIO ’26 / BAKU
Salam Hello Привет
Работы FW003

Makromedicine.com · Здравоохранение · Миграция

Переписали легаси на CodeIgniter и заодно собрали бизнес-процессы

Старая система на CodeIgniter была плохо задокументирована, часть функций числилась рабочей только формально. Полностью мигрировали на Laravel, написали новые модули, починили сломанные сценарии и собрали бизнес-процессы с нуля.

Срок
Многоэтапно
Команда
Эльвин Шарифов + backend-контрактор
Услуги
Инженерия · Системный дизайн · Анализ бизнес-процессов
Статус
В проде
CI → Laravel Миграция стека
Новые Модули
0 Битых функций на передаче
Заново Бизнес-процесс

Исходная точка

Makromedicine — это многолетняя система на CodeIgniter, через которую прошло много рук. Документация слабая, код растрёпан, часть функций формально была, но фактически не работала — пользователь нажимал, ничего не происходило. Один кусок не вызывал другой, бизнес-сценарий обрывался посередине.

Сфера медицинская — данные чувствительные: записи пациентов, архив обращений, история оплат. Каждый шаг приходилось рассматривать и технически, и с точки зрения compliance.

Решения

  1. Полная миграция на Laravel, а не очередное латание. Каждый месяц на CodeIgniter обходился всё дороже.
  2. Бизнес-процесс собрали с нуля — вход пользователя, создание обращения, оплата, отчёт. На каждом шаге явно прописано, кто решает и кто исполняет.
  3. Битые функции прошли поштучным аудитом — что-то было просто легаси и пошло под нож, что-то починили, что-то встроили в новый сценарий.
  4. Новые модули под запрос клиента — отчётность, экспорт, внутренняя админка, audit log.

Исполнение

Стек: Laravel 11, Postgres, фоновые задачи через queue (генерация отчётов, рассылки). Фронт — Blade + Alpine.js; для админки React был бы избыточен. Аутентификацию и RBAC сделали заново.

«Самое интересное в этом проекте — не технологический переезд, а пересборка бизнес-процессов. CodeIgniter был предлогом, настоящая работа была — расставить ответственность по местам.»

На каждой неделе была сверка с клиентом: какая функция остаётся, какая меняется, какая уходит.

Результат

  • Полный стек на Laravel — добавлять новое больше не больно.
  • Заново собранные бизнес-процессы — у каждого шага есть владелец.
  • Битые функции починены или убраны — пользователь больше не натыкается на «кнопку, которая не работает».
  • Audit log и внутренняя админка переданы команде клиента.

О проекте такого формата —
давайте поговорим.

Написать Эльвину Шарифову