АУДИТCODE AUDIT
Технічний аудит Laravel-проєкту B2B.
Оцінка коду від підрядника перед продовженням контракту: архітектура, безпека, запити.
Аудит під NDA: назву клієнта, код і скріншоти не публікуємо. Фрагмент коду на обкладинці — ілюстрація типової проблеми, не код клієнта.
- ТИП
- АУДИТ
- ТЕРМІН
- 2 тижні
- КОМАНДА
- Тех-лід (PHP), QA
- ПОСЛУГА
- Технічний аудит коду
01
Задача
Клієнту потрібно було вирішити, чи продовжувати контракт із підрядником — для цього оцінили якість Laravel-коду B2B-проєкту. Скарги були типові: сторінки звітів відкривалися повільно, нові функції ламали старі, а оцінки підрядника постійно зростали.
02
Обмеження
- [WARN]Доступ лише до репозиторію і копії бази, без продакшн-серверів
- [WARN]Висновок потрібен до дати продовження контракту
- [WARN]Звіт читатиме не технічний власник — потрібен підсумок без жаргону
03
Рішення
Провели технічний аудит: перевірили архітектуру, безпеку і продуктивність запитів, знайшли 312 N+1-запитів і дали 14 рекомендацій. Кожна рекомендація — з пріоритетом, оцінкою годин і ризиком, якщо її не виконати.
АрхітектураСтруктура модулів, бізнес-логіка в контролерах, дублювання, покриття тестами.
БезпекаАвторизація, валідація введення, масове присвоєння, вразливі залежності.
Запити до базиПрофілювання ключових сторінок: N+1, відсутні індекси, важкі звіти.
Звіт для рішенняПідсумок для власника і 14 рекомендацій з пріоритетами для розробників.
04
Стек
Laravelкод проєктуPostgreSQLзапити й індексиLaravel Debugbar, TelescopeпрофілюванняPHPStanстатичний аналізcomposer auditвразливі залежності
05
Результат у цифрах
N+1 ЗАПИТІВ312
РЕКОМЕНДАЦІЙ14
N+1 — кількість зайвих однотипних запитів, знайдених профілюванням ключових сторінок.
06
Що зробили б інакше
01Попросили б доступ до логів продакшну з першого дня — частину повільних сценаріїв видно лише на реальних даних.
02Зустрічалися б з підрядником на початку аудиту, а не в кінці: частина рішень мала історичні причини.
03Давали б оцінку рекомендацій у вилці годин одразу в першій версії звіту.
НАСТУПНИЙ КЕЙСЛендінг з формою в Telegram і CRM
ДЕМО