Przejęcie projektu Laravel po innym wykonawcy to nie przepisanie kodu od zera. To przede wszystkim zarządzanie ryzykiem: musisz zrozumieć, co działa, co jest kruche i co może wybuchnąć po pierwszej zmianie. Poniżej znajdziesz checklistę 30 punktów, którą przechodzę przed pierwszym commitem w cudzym projekcie.
Jeśli szukasz wykonawcy, który przejmie projekt krok po kroku, zobacz usługę przejęcie projektu Laravel. Checklista poniżej jest również podstawą audytu, który możesz zamówić osobno.
Dlaczego przejęcia projektów się nie udają
- Najczęstszy scenariusz: nowy wykonawca dostaje repozytorium, kilka zdań od klienta i termin „na wczoraj”. Po dwóch tygodniach okazuje się, że połowa funkcji działa przypadkiem, testów nie ma, a wdrożenie polega na ręcznym kopiowaniu plików przez FTP. Wtedy pojawia się pokusa, żeby „napisać wszystko od nowa”.
Druga pułapka to brak dokumentacji. Kod bez dokumentacji nie jest samoopisujący się, nawet jeśli wygląda porządnie. Trzecia — brak właściciela po stronie biznesu: nikt nie wie, które procesy są krytyczne, więc nie da się ustalić priorytetów.
Dlatego przejęcie zaczynam od audytu i planu, a nie od refaktoryzacji. Dobre przejęcie nie polega na tym, żeby jak najszybciej zmienić kod, tylko na tym, żeby wiedzieć, czego nie ruszać.
Checklista 30 punktów
Kod i architektura
- Czy repozytorium ma pełną historię commitów, czy to tylko płaski snapshot?
- Czy są gałęzie, tagi i jasny proces release’ów?
- Czy struktura katalogów odpowiada konwencjom Laravela, czy wszystko jest w
app/Http/Controllers? - Czy granice modułów są widoczne, czy logika biznesowa jest rozlana po kontrolerach i modelach?
- Czy są miejsca, w których framework jest obchodzony (raw SQL, ręczne zapytania,
DB::statement)?
Bezpieczeństwo
- Czy sekrety są w
.env, czy w kodzie i historii commitów? - Czy
APP_DEBUGjest wyłączony na produkcji? - Czy walidacja wejścia jest w Form Requestach, czy rozproszona po kontrolerach?
- Czy uprawnienia są sprawdzane przez Policies/Gates, czy przez
ifw widokach? - Czy projekt przeszedł podstawowy test OWASP Top 10 — XSS, CSRF, SQL injection, mass assignment, niebezpieczne uploady?
Testy i jakość
- Czy istnieją testy automatyczne, czy „testy” to ręczne klikanki?
- Czy testy pokrywają krytyczne ścieżki: logowanie, płatności, zamówienia, eksporty?
- Czy testy są uruchamiane w CI, czy tylko lokalnie?
- Czy jest statyczna analiza (PHPStan/Larastan) i czy jest skonfigurowana?
- Czy code review jest częścią procesu, czy commit idzie prosto na produkcję?
Infrastruktura i wdrożenia
- Czy wdrożenie jest automatyczne, czy ręczne?
- Czy jest staging i czy odzwierciedla produkcję?
- Czy jest rollback i czy ktokolwiek go testował?
- Czy są backupy bazy i plików, czy „hosting robi backup”?
- Czy monitoring i alerty działają, czy dowiadujesz się o awarii od klienta?
Dane i integracje
- Czy są migracje i czy można odtworzyć schemat bazy od zera?
- Czy są kolejki, scheduled jobs i workery — i czy ktoś je monitoruje?
- Czy integracje zewnętrzne mają retry, idempotencję i logi?
- Czy dane osobowe są zgodne z RODO: retencja, dostęp, eksport, usuwanie?
- Czy są miejsca, w których dane są duplikowane między systemami bez reguły źródła prawdy?
Zespół i dokumentacja
- Czy jest dokumentacja wdrożenia i konfiguracji?
- Czy jest opis architektury i przepływów krytycznych?
- Czy są dostępy do wszystkich systemów i czy są w jednym miejscu?
- Czy jest osoba, która zna projekt, i czy można z nią porozmawiać?
- Czy klient wie, które procesy są krytyczne, a które mogą poczekać?
Jeśli na większość pytań odpowiadasz „nie wiem”, to nie jest jeszcze projekt do refaktoryzacji. To projekt do audytu.
Jak przeprowadzić audyt w 5 dni
Dzień 1 — mapa projektu. Repozytorium, zależności, konfiguracja, uruchomienie lokalne, przegląd struktury.
Dzień 2 — bezpieczeństwo i dane. Sekrety, uprawnienia, walidacja, OWASP, migracje, backupy.
Dzień 3 — testy i wdrożenia. CI/CD, staging, rollback, monitoring, kolejki.
Dzień 4 — integracje i krytyczne ścieżki. Płatności, zamówienia, eksporty, webhooki, retry.
Dzień 5 — raport i plan. Lista ryzyk, priorytety, plan 30/60/90 i wycena.
Po pięciu dniach powinieneś wiedzieć, czy projekt nadaje się do modułowego przejęcia, czy wymaga przepisania. To jest decyzja biznesowa, nie techniczna.
Czerwone flagi, które powinny zatrzymać projekt
- Brak historii commitów i brak repozytorium poza serwerem produkcyjnym.
- Sekrety w kodzie lub w historii commitów.
- Brak testów i brak możliwości uruchomienia projektu lokalnie.
- Wdrożenia przez FTP i ręczne zmiany w bazie.
- Integracje bez retry i bez logów.
- Kod, którego nikt nie potrafi uruchomić, a klient nie ma dostępu do dostawcy.
Każda z tych flag zwiększa koszt przejęcia. Niektóre oznaczają, że taniej będzie przepisać projekt, ale to rzadkość — zwykle modułowe przejęcie jest szybsze i mniej ryzykowne.
Ile kosztuje przejęcie projektu Laravel?
Audyt startuje od 2 500 zł netto + VAT i zwykle obejmuje 3–5 dni roboczych. Dalsze prace wyceniam po audycie, na podstawie planu 30/60/90. Jeżeli projekt jest w dobrym stanie, przejęcie może kosztować mniej niż przepisanie. Jeżeli jest w złym stanie, audyt i tak jest tańszy niż pół roku pracy bez planu.
Zobacz też wpisy o testach automatycznych w Laravel, CI/CD i DevOps oraz bezpieczeństwie aplikacji Laravel.
Przejęcie modułowe vs przepisanie od zera
| Kryterium | Przejęcie modułowe | Przepisanie od zera |
|---|---|---|
| Koszt początkowy | Średni | Wysoki |
| Czas do pierwszej zmiany | 2–4 tygodnie | 3–9 miesięcy |
| Ryzyko dla biznesu | Niskie | Wysokie |
| Zachowanie wiedzy o procesach | Wysokie | Często tracone |
| Kiedy wybrać | Działający system z długiem technicznym | System niewspierany, koszt utrzymania > koszt nowej aplikacji |
W praktyce najlepszy jest model hybrydowy: przejmujemy modułami, a najbardziej problematyczny fragment przepisujemy osobno, z testami i możliwością rollbacku.
Najczęściej zadawane pytania
Ile trwa przejęcie projektu Laravel?
Audyt 3–5 dni, plan 1–2 dni, zabezpieczenie danych i testy 2–5 dni. Pierwsze zmiany na produkcji zwykle w 2–4 tygodnie od startu. Tempo zależy od stanu projektu i priorytetów biznesowych.
Czy muszę zatrzymywać produkcję?
Nie. Pracuję modułami, za feature flagami i z możliwością rollbacku. Jeśli ryzyko jest zbyt wysokie, najpierw naprawiamy krytyczne ścieżki, a dopiero potem refaktoryzujemy resztę.
Czy przejmiesz projekt bez dokumentacji?
Tak. Brak dokumentacji to jeden z najczęstszych powodów przejęcia. Najpierw odtwarzam mapę systemu, zależności i krytycznych ścieżek, a potem dokumentuję to, co najważniejsze.
Czy podpisujesz NDA?
Tak, standardowo przed przekazaniem kodu i danych. Mogę podpisać Twoje NDA lub przedstawić własne.
Kto jest właścicielem kodu po przejęciu?
Kod pozostaje w Twoim repozytorium. Zasady przeniesienia praw majątkowych do nowego kodu i dokumentacji ustalamy w umowie.
Czy możesz tylko doradzić, bez przejmowania projektu?
Tak. Audyt może zakończyć się raportem i rekomendacjami, bez dalszej współpracy. Decyzję podejmujesz po poznaniu ryzyk i wyceny.