Files
cmsPRO/.paul/PROJECT.md
Jacek Pyziak ffe661b4d2 feat(domain): Domain\Authors + Domain\Newsletter repositories z wrapper delegation
Phase 4 complete:
- AuthorsRepository: simpleList, authorDetails, authorSave, authorDelete, authorByLang
- NewsletterRepository: 14 methods — subscriber lifecycle, templates, sending
- 4 legacy factories converted to thin wrappers
- Globals ($settings, $lang) passed as explicit params to repo methods

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 18:21:32 +02:00

2.1 KiB

Project: cmsPRO

Description

Autorski system CMS z panelem administracyjnym (17 modułów admin, 13 modułów front). Projekt przechodzi pełną refaktoryzację kodu w 19 fazach — wzorcem docelowej architektury jest shopPRO. Wzorzec migracji: wrapper delegation (stare klasy delegują do nowych, zero regresji).

Core Value

Autorski system CMS umożliwiający zarządzanie treściami i stronami internetowymi.

Already Completed

  • Domain (10 repos): Articles, Languages, Layouts, Pages, Settings, User, Scontainers, Banners, Authors, Newsletter
  • Shared (7 modules): Cache, Helpers, Html, Image, Tpl, Email, Security
  • Form Edit System: FormEditViewModel, multi-tab, validation, persistence
  • PHPUnit base: Bootstrap, 3 test files
  • Wrapper delegation pattern: legacy factories delegate to Domain repositories

Requirements

Must Have

  • Centralny PSR-4 autoloader (hybrydowy z legacy)
  • Wszystkie Domain repositories (Scontainers, Banners, Authors, Newsletter, SEO, Cron, Releases)
  • Shared\Email + Shared\Security (CsrfToken, HMAC-SHA256)
  • Admin\ namespace z DI dla wszystkich 17 modułów
  • Frontend\ namespace dla wszystkich front modułów
  • Bezpieczne cookies (HMAC-SHA256 zamiast hash w JSON)

Should Have

  • PHPUnit testy dla nowych repositories i controllers
  • Legacy cleanup (usunięcie wrapperów po pełnej migracji)

Nice to Have

  • Admin base classes (TableListRequestFactory, FormValidator — wzór shopPRO)

Constraints

  • PHP < 8.0 (produkcja) — brak match, named args, union types, str_contains()
  • Referencja architektury: shopPRO (C:\visual studio code\projekty\shopPRO)
  • Zachowanie 100% kompatybilności wstecznej podczas migracji (wrapper delegation)
  • Medoo ORM (nie zmieniać)
  • Zewnętrzne biblioteki (Mobile_Detect, geoplugin) — nie ruszać

Success Criteria

  • 19 faz refaktoryzacji zakończonych
  • Cały kod w namespace'ach Domain, Shared, Admin, Frontend\
  • Zero regresji — istniejąca funkcjonalność działa bez zmian
  • Bezpieczne cookies (HMAC-SHA256)
  • Testy PHPUnit dla kluczowych modułów

Created: 2026-04-04 Last updated: 2026-04-04 after Phase 4