PHP – Od monolitu do architektury modularnej
Warsztat uczy projektowania systemów — nie od podstaw, ale przez ewolucję istniejącego kodu.
Idealny dla zespołów, które…
Solidny backend i architektura — wzorce sprawdzone w środowisku produkcyjnym.
Analizowania zależności w istniejącym kodzie przy pomocy deptrac
EventStorming jako metody odkrywania domeny i wyodrębniania bounded contextów
Domain-Driven Design (strategic + tactical) — Ubiquitous Language, agregaty, zdarzenia domenowe
Refaktoryzacji monolitu w modularny monolit z wymuszonymi granicami między modułami
Komunikacji między modułami przez zdarzenia domenowe (Symfony EventDispatcher)
Egzekwowania granic architektonicznych — deptrac jako CI guard
Dokumentowania decyzji architektonicznych (ADR — Architecture Decision Records)
Konfigurowania CI pipeline (GitHub Actions) z deptrac, PHPUnit i PHPStan
Co warto wiedzieć przed startem
- PHP 8.3+: programowanie obiektowe, interfejsy, dependency injection
- Testy PHPUnit: unit i integracyjne
- Znajomość SRP i DIP — umiejętność wyjaśnienia na przykładzie ze swojego kodu
- REST API z Symfony Components lub pełnym frameworkiem (Symfony/Laravel)
- Docker i Composer
Co konkretnie robimy
Dzień 1 · Etap 1: Anatomia problemu
- · Przegląd zastanego monolitu — co działa, co boli, gdzie są ukryte zależności
- · Czytanie logów (structured logging) — zrozumienie przepływu danych
- · deptrac — generowanie mapy zależności między klasami
- · Identyfikacja ukrytego sprzęgania — „dlaczego zmiana w katalogu psuje zamówienia?”
- · Efekt: Uczestnicy widzą mapę zależności monolitu i rozumieją, gdzie są problemy
Dzień 1 · Etap 2: DDD — strategic design
- · EventStorming — kolaboracyjne odkrywanie domeny, identyfikacja zdarzeń biznesowych, komend i agregatów
- · Ubiquitous Language — dlaczego „produkt” znaczy co innego w katalogu, koszyku i magazynie
- · Bounded Contexts — wyodrębnianie granic (Catalog, Cart, Order) na podstawie wyników EventStorming
- · Efekt: Monolit jest koncepcyjnie podzielony na konteksty; uczestnicy rozumieją DLACZEGO te granice, nie tylko GDZIE
Dzień 2 · Etap 3: DDD tactical + Modularny monolit
- · Struktura katalogów — src/Catalog/ jako samodzielna jednostka
- · Publiczne API modułu — interfejsy jako kontrakt; implementacja ukryta
- · Przeniesienie kodu katalogowego do modułu
- · deptrac — dodanie pierwszej reguły, weryfikacja granicy
- · Agregaty — modelowanie reguł biznesowych, które bronią się same
- · Zdarzenia domenowe — OrderPlaced jako kontrakt między kontekstami
- · Komunikacja między modułami — Symfony EventDispatcher
- · Internal vs Published events — nie każde zdarzenie jest publiczne
- · deptrac jako CI guard — pełna konfiguracja
- · Testowanie modułowe — testy integracyjne modułu w izolacji
- · Cart jako ćwiczenie — uczestnicy wyodrębniają trzeci moduł samodzielnie
- · Efekt: Kod jest fizycznie podzielony na moduły z wymuszonymi granicami i komunikacją przez eventy
Dzień 2 · Etap 4: Architektura na co dzień
- · ADR (Architecture Decision Records) — dokumentowanie decyzji architektonicznych
- · Fitness functions — GitHub Actions z deptrac, PHPUnit i PHPStan jako automated quality gate
- · Kiedy NIE robić DDD/modularyzacji — over-engineering to też anty-wzorzec
- · Retrospektywa — co się zmieniło w monolicie, czego się nauczyliśmy
- · Efekt: Uczestnicy mają framework decyzyjny i CI pipeline, nie tylko wiedzę techniczną
Od briefu do retro w 30 dniach.
Brief i diagnoza
Rozmowa z liderem zespołu + krótka ankieta dla uczestników. Określamy cele, gap, kontekst.
Modyfikacja programu
Dostosowujemy moduły, case studies i przykłady kodu pod Twój stack. Akceptacja w 5 dni.
Warsztat
Sesje z trenerem, hands-on, code review. Mentor dostępny też pomiędzy sesjami.
Retro + raport
Raport z efektami dla zespołu i lidera. 30 dni konsultacji w cenie.
Wyślij brief. Odezwiemy się w 1 dzień.
Po krótkim briefie przygotujemy program i wycenę. Bez zobowiązań — to tylko punkt wyjścia do rozmowy.
Dziękujemy!
Odezwiemy się w ciągu 1 dnia roboczego.
Inne programy dla zespołów
Zobacz wszystkie →C# – podstawy programowania
Solidny backend i architektura — wzorce sprawdzone w środowisku produkcyjnym.
Entity Framework 6
Solidny backend i architektura — wzorce sprawdzone w środowisku produkcyjnym.
GO
Solidny backend i architektura — wzorce sprawdzone w środowisku produkcyjnym.