- Added AllegroOrderSyncStateRepository for managing sync state with Allegro orders. - Introduced AllegroOrdersSyncService to handle the synchronization of orders from Allegro. - Created AllegroStatusDiscoveryService to discover and store order statuses from Allegro. - Developed AllegroStatusMappingRepository for managing status mappings between Allegro and OrderPro. - Implemented AllegroStatusSyncService to facilitate status synchronization. - Added CronSettingsController for managing cron job settings related to Allegro integration.
3.3 KiB
3.3 KiB
Projektowe zasady dla Codex
Baza danych i migracje
DB_HOST_REMOTEjest techniczne tylko dla agenta (Codex) do recznych operacji DB/migracji.- Nie podpinaj
DB_HOST_REMOTEdo runtime aplikacji. - Runtime aplikacji ma korzystac standardowo z
DB_HOST.
Zasady pisania kodu
- Kod ma być czytelny „dla obcego”: jasne nazwy, mało magii
- Brak „skrótów na szybko” typu logika w widokach, copy-paste, losowe helpery bez spójności
- Każda funkcja/klasa ma mieć jedną odpowiedzialność, zwykle do 30–50 linii (jeśli dłuższe – dzielić)
- max 3 poziomy zagnieżdżeń (if/foreach), reszta do osobnych metod
- Nazewnictwo:
- klasy: PascalCase
- metody/zmienne: camelCase
- stałe: UPPER_SNAKE_CASE
- Zero „skrótologii” w nazwach (np. $d, $tmp, $x1) poza pętlami 2–3 linijki
- medoo + prepared statements bez wyjątków (żadnego sklejania SQL stringiem)
- XSS: escape w widokach (np. helper e())
- CSRF dla formularzy, sensowna obsługa sesji
- Kod ma mieć komentarze tylko tam, gdzie wyjaśniają „dlaczego”, nie „co”
Utrwalanie stalych wymagan
- Trwale wymagania techniczne zapisuj w tym pliku (
AGENTS.md) w root projektu. - Dla zmiennych srodowiskowych utrzymuj tez wpisy w
.env.example. - Dokumentacje techniczna utrzymuj w folderze
DOCS:DOCS/DB_SCHEMA.md- aktualny schemat bazy danych (aktualizacja przy kazdej zmianie migracji/schematu),DOCS/ARCHITECTURE.md- struktura klas, metod, modulow i przeplywow,DOCS/TECH_CHANGELOG.md- chronologiczny log zmian technicznych (co i dlaczego).
- Przy kazdej nowej funkcji lub zmianie:
- zaktualizuj odpowiednie sekcje w
DOCS/DB_SCHEMA.md,DOCS/ARCHITECTURE.md,DOCS/TECH_CHANGELOG.md, - opisz nowe tabele/kolumny/indeksy/FK, nowe klasy/metody oraz zmiany kontraktow API.
- zaktualizuj odpowiednie sekcje w
Wdrażanie poprawek
- Przed wdrożeniem zmian w kodzie, przeglądnij, poniższe dokumenty aby nowe kody dopasować do istniejacych już rozwiązań:
DOCS/DB_SCHEMA.md- aktualny schemat bazy danychDOCS/ARCHITECTURE.md- struktura klas, metod, modulow i przeplywow
- Zrób plan i mi go przedstaw
- Po akceptacji przejdź do wdrożenia
- Po wdrożeniu przeprowadź testy
Alerty i potwierdzenia UI
- W aplikacji uzywaj modulu
resources/modules/jquery-alerts(build dopublic/assets/js/modules/jquery-alerts.jsipublic/assets/css/modules/jquery-alerts.css). - Nie dodawaj nowych natywnych
alert()/confirm()w widokach; dla potwierdzen akcji (np. usuwanie) korzystaj zwindow.OrderProAlerts.confirm(...).
Style frontendu
- Nie trzymaj styli CSS w plikach widokow (
resources/views/...). - Wszystkie style umieszczaj w plikach SCSS (
resources/scss/...) i buduj dopublic/assets/css/.... - Interfejs ma byc kompaktowy: preferuj mniejsze odstepy i gestszy uklad, tak aby pokazywac jak najwiecej informacji na jednym ekranie bez przewijania.
Reuzywalnosc UI
- Nie powielaj kodu takich samych elementow widoku.
- Jezeli ten sam blok UI wystepuje w wiecej niz jednym miejscu, wydziel go do wspolnego komponentu (np.
resources/views/components/...) i uzywaj ponownie. - Zmiany wspolnego komponentu musza byc propagowane do wszystkich miejsc uzycia.
Srodowisko lokalne (Windows)
- Komenda
phpjest dostepna z instalacji XAMPP (C:\xampp\php\php.exe). - Jezeli
phpnie jest widoczne w terminalu, dodajC:\xampp\phpdo zmiennejPATH(User).