Files
orderPRO/AGENTS.md
Jacek Pyziak 7ac4293df4 feat: Implement Allegro Order Sync and Status Management
- 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.
2026-03-04 23:21:35 +01:00

3.3 KiB
Raw Blame History

Projektowe zasady dla Codex

Baza danych i migracje

  • DB_HOST_REMOTE jest techniczne tylko dla agenta (Codex) do recznych operacji DB/migracji.
  • Nie podpinaj DB_HOST_REMOTE do 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 3050 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 23 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.

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 danych
    • DOCS/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 do public/assets/js/modules/jquery-alerts.js i public/assets/css/modules/jquery-alerts.css).
  • Nie dodawaj nowych natywnych alert() / confirm() w widokach; dla potwierdzen akcji (np. usuwanie) korzystaj z window.OrderProAlerts.confirm(...).

Style frontendu

  • Nie trzymaj styli CSS w plikach widokow (resources/views/...).
  • Wszystkie style umieszczaj w plikach SCSS (resources/scss/...) i buduj do public/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 php jest dostepna z instalacji XAMPP (C:\xampp\php\php.exe).
  • Jezeli php nie jest widoczne w terminalu, dodaj C:\xampp\php do zmiennej PATH (User).