Перейти до змісту
АУДИТCODE AUDIT

Технічний аудит Laravel-проєкту B2B.

Оцінка коду від підрядника перед продовженням контракту: архітектура, безпека, запити.

Аудит під NDA: назву клієнта, код і скріншоти не публікуємо. Фрагмент коду на обкладинці — ілюстрація типової проблеми, не код клієнта.
ТИП
АУДИТ
ТЕРМІН
2 тижні
КОМАНДА
Тех-лід (PHP), QA

Задача

Клієнту потрібно було вирішити, чи продовжувати контракт із підрядником — для цього оцінили якість Laravel-коду B2B-проєкту. Скарги були типові: сторінки звітів відкривалися повільно, нові функції ламали старі, а оцінки підрядника постійно зростали.

Обмеження

  • [WARN]Доступ лише до репозиторію і копії бази, без продакшн-серверів
  • [WARN]Висновок потрібен до дати продовження контракту
  • [WARN]Звіт читатиме не технічний власник — потрібен підсумок без жаргону

Рішення

Провели технічний аудит: перевірили архітектуру, безпеку і продуктивність запитів, знайшли 312 N+1-запитів і дали 14 рекомендацій. Кожна рекомендація — з пріоритетом, оцінкою годин і ризиком, якщо її не виконати.

АрхітектураСтруктура модулів, бізнес-логіка в контролерах, дублювання, покриття тестами.
БезпекаАвторизація, валідація введення, масове присвоєння, вразливі залежності.
Запити до базиПрофілювання ключових сторінок: N+1, відсутні індекси, важкі звіти.
Звіт для рішенняПідсумок для власника і 14 рекомендацій з пріоритетами для розробників.

Стек

Laravelкод проєктуPostgreSQLзапити й індексиLaravel Debugbar, TelescopeпрофілюванняPHPStanстатичний аналізcomposer auditвразливі залежності

Результат у цифрах

N+1 ЗАПИТІВ312
РЕКОМЕНДАЦІЙ14

N+1 — кількість зайвих однотипних запитів, знайдених профілюванням ключових сторінок.

Що зробили б інакше

01Попросили б доступ до логів продакшну з першого дня — частину повільних сценаріїв видно лише на реальних даних.
02Зустрічалися б з підрядником на початку аудиту, а не в кінці: частина рішень мала історичні причини.
03Давали б оцінку рекомендацій у вилці годин одразу в першій версії звіту.
НАСТУПНИЙ КЕЙСЛендінг з формою в Telegram і CRM
ДЕМО

Потрібен такий результат.

Надішліть задачу — оцінка з вилкою ціни і термінів за 1 робочий день.

01Відповідь за 2 години02Дзвінок 20 хвилин03Оцінка за 1 день
Що потрібно

Надсилаючи форму, ви погоджуєтесь з політикою конфіденційності.