О нас Руководства Проекты Контакты
Админка
пожалуйста подождите

Клиент и контекст

Североамериканский провайдер обучения эксплуатировал мультиарендный учебный портал, которым пользовались несколько корпоративных клиентов. Платформа была построена на Laravel и современном front-end, однако:

  • Локальная разработка была непонятной в настройке и поддержании в рабочем состоянии.
  • Обновления были рискованными из‑за архитектурных несоответствий.
  • В legacy-коде, вёрстке и мультиарендном поведении было множество мелких багов.

Я присоединился в роли senior full-stack инженера, чтобы стабилизировать и развивать платформу.

Задачи

  • Сложная мультиарендная конфигурация с настройками на арендатора, кастомными доменами и background jobs.
  • Боль dev-окружения: конфигурация Docker, сертификаты и инициализация были сложными и хрупкими.
  • Обновления и безопасность: требовалось обновить фреймворк и библиотеки, сохранив доступность для арендаторов.
  • Регрессии UI и UX: проблемы загрузки CSS/JS, сломанные адаптивные макеты и дублирование кода в legacy-разделах.

Что я сделал

1. Упростил локальную разработку и онбординг

  • Привёл в порядок и упростил настройку Docker Compose и Dockerfile.
  • Исправил автоматическую генерацию сертификатов и процедуры инициализации, включая cron jobs.
  • Обновил и прояснил документацию по онбордингу, сделав старт работы и вклад в проект значительно проще для новых разработчиков.

2. Архитектурная чистка и обновления

  • Исправил архитектурные несоответствия, из‑за которых обновления были сложными и подверженными ошибкам.
  • Обновил backend с Laravel 8 до Laravel 9.
  • Обновил библиотеки Node.js и инструменты сборки до состояния, когда все известные уязвимости были устранены.
  • Актуализировал архитектурную документацию, чтобы будущие изменения было проще планировать.

3. Улучшения качества и консистентности

  • Провёл ручное тестирование legacy- и новых функций.
  • Исправил баги в legacy-функциональности, включая:
  • Условную логику и крайние случаи.
  • Проблемы адаптивного дизайна (responsive layouts).
  • Проблемы порядка загрузки JavaScript и CSS, а также дубликаты.
  • Объединил миграции базы данных и обновил реализации функций, чтобы привести старый код в соответствие с более новыми паттернами.

4. Улучшения мультиарендности

  • Интегрировал AWS Route 53 API для автоматического управления субдоменами и DNS.
  • Реализовал создание субарендаторов из интерфейса администратора арендатора.
  • Добавил процессы фоновой инициализации арендаторов.
  • Улучшил параметры конфигурации для полей, колонок, фильтров, валидаций и многоязычных подписей.

Результаты

  • Новые разработчики могли получить рабочее локальное окружение значительно быстрее, снизив трение при онбординге.
  • Платформа перешла на Laravel 9 с обновлённым front-end стеком и закрытыми уязвимостями безопасности.
  • Управление мультиарендностью стало более надёжным и удобным, включая автоматизированную обработку доменов.
  • Кодовая база стала более цельной и поддерживаемой, что позволило клиенту сосредоточиться на новых функциях вместо постоянного «тушения пожаров».

Технологии и обязанности

  • Роль: Senior full-stack инженер для мультиарендной SaaS-платформы
  • Технологии: Laravel 8→9, PHP, Node.js, Docker, Docker Compose, AWS Route 53, multi-tenancy, JavaScript, CSS, responsive design
  • Объём работ: Dev-окружение и документация, обновления фреймворка и библиотек, исправление багов, улучшения мультиарендности и архитектурная чистка

Если вы эксплуатируете мультиарендную SaaS, которую сложно обновлять и ещё сложнее запускать локально, я помогу упростить настройку, модернизировать стек и убрать трение для вашей команды.

Назад ко всем кейсам

 
 
 
Языки
Темы
Copyright © 1999 — 2026
Зетка Интерактив