To wersja testowa nowego serwisu infoShare Academy — wyświetlane treści i oferta nie są wiążące ani kompletne

Backend

PHP – Od monolitu do architektury modularnej

Warsztat uczy projektowania systemów — nie od podstaw, ale przez ewolucję istniejącego kodu.

Czas trwania
16h · 2 dni
Dla kogo

Idealny dla zespołów, które…

1 Absolwentów warsztatu PHP Podstawy + Zaawansowany, gotowych na poziom architektoniczny
2 Developerów PHP z doświadczeniem komercyjnym, którzy potrafią samodzielnie zbudować REST API z testami
3 Programistów pracujących z monolitami, w których „zmiana w jednym miejscu psuje trzy inne"
4 Zespołów, które chcą wprowadzić modularność do istniejących aplikacji bez przepisywania od podstaw
Efekty po programie

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

Wymagania

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
Program

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ą
Każdy moduł modyfikujemy pod Twój stack i kontekst. Powyższe to punkt wyjścia — nie sztywna agenda.
Jak pracujemy

Od briefu do retro w 30 dniach.

01

Brief i diagnoza

Rozmowa z liderem zespołu + krótka ankieta dla uczestników. Określamy cele, gap, kontekst.

02

Modyfikacja programu

Dostosowujemy moduły, case studies i przykłady kodu pod Twój stack. Akceptacja w 5 dni.

03

Warsztat

Sesje z trenerem, hands-on, code review. Mentor dostępny też pomiędzy sesjami.

04

Retro + raport

Raport z efektami dla zespołu i lidera. 30 dni konsultacji w cenie.

Zapytanie

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.

Wycena w 48h od briefu
Pierwsza sesja w 30 dni
Pilotaż przed pełną decyzją
Faktura VAT, możliwość płatności w transzach

Co robimy z Twoimi danymi

Dane służbowe (imię, e-mail firmowy, telefon, firma, stanowisko) przetwarzamy w celu obsługi zapytania o szkolenie dla firmy i przygotowania oferty. Administratorem danych jest infoShare Academy Sp. z o.o., Al. Grunwaldzka 472B, 80-309 Gdańsk. Podanie danych jest dobrowolne, ale niezbędne do udzielenia odpowiedzi. Masz prawo dostępu do danych, ich sprostowania, usunięcia, ograniczenia przetwarzania i wniesienia sprzeciwu. Pełną informację znajdziesz w Klauzuli informacyjnej.

Zgody marketingowe (dobrowolne)

Administratorem danych osobowych jest infoShare Academy sp. z o.o. Zasady przetwarzania danych osobowych znajdują się w dokumentach Polityka Prywatności oraz Klauzula Informacyjna.