# shopPRO ## What This Is Autorski silnik sklepu internetowego pisany od podstaw - odpowiednik WooCommerce lub PrestaShop, ale bez zależności od zewnętrznych platform. Składa się z panelu administratora (zarządzanie zamówieniami, produktami, klientami) oraz części frontowej dla klienta końcowego. ## Core Value Właściciel sklepu internetowego ma pełną kontrolę nad sprzedażą online - produktami, zamówieniami i klientami - w jednym spójnym systemie pisanym od podstaw, bez narzutów zewnętrznych platform. ## Current State | Attribute | Value | |-----------|-------| | Version | 0.333 | | Status | Production | | Last Updated | 2026-04-20 | ## Requirements ### Validated (Shipped) - [x] Panel administratora - zarządzanie produktami, kategoriami, atrybutami - [x] Panel administratora - zarządzanie zamówieniami - [x] Panel administratora - zarządzanie klientami - [x] Część frontowa - przeglądanie i kupowanie produktów - [x] Koszyk i składanie zamówień - [x] Integracje płatności i dostaw - [x] REST API (ordersPRO + Ekomi) - [x] Redis caching - [x] Ochrona przed podwójnym składaniem zamówienia - [x] Domain-Driven Architecture (migracja z legacy zakończona) - [x] Szybka edycja custom_label_0..4 na liscie produktow admina (toggle sesyjny + autocomplete) - [x] Poprawna kalkulacja kosztu transportu na /koszyk-podsumowanie (fix delivery_free bez uwzglednienia progu) ### Active (In Progress) - [ ] [Do zdefiniowania podczas planowania] ### Planned (Next) - [ ] [Do zdefiniowania podczas planowania] ### Out of Scope - Multitenancy (wiele sklepów w jednej instancji) - nie planowane ## Target Users **Primary:** Właściciel/administrator sklepu internetowego - Zarządza produktami, zamówieniami, klientami przez panel admina - Potrzebuje niezawodnego, szybkiego narzędzia bez zbędnych zależności **Secondary:** Klient końcowy sklepu - Przegląda produkty, dodaje do koszyka, składa zamówienia ## Context **Technical Context:** - PHP 7.4+ (produkcja: PHP < 8.0) - Medoo ORM (`$mdb`), Redis caching - Domain-Driven Design z Dependency Injection - PHPUnit 9.6, 810+ testów - Namespace: `\Domain\`, `\admin\`, `\front\`, `\api\`, `\Shared\` ## Constraints ### Technical Constraints - PHP < 8.0 na produkcji (brak `match`, named arguments, union types) - Medoo ORM - prepared statements bez wyjątków - Redis wymagany dla cache ### Business Constraints - System wdrażany u klientów jako update package (ZIP) ## Key Decisions | Decision | Rationale | Date | Status | |----------|-----------|------|--------| | DDD + DI zamiast legacy architektury | Testowalność, separacja odpowiedzialności | 2025 | Active | | PHP < 8.0 kompatybilność | Klienci na starszych serwerach | 2025 | Active | | Własny silnik zamiast frameworka | Pełna kontrola, brak narzutów | - | Active | | `id` w tabbed FormEdit przez `hiddenFields` | Zapobiega insert zamiast update przy edycji encji | 2026-04-18 | Active | | Inline custom labels w product list przez sesyjny toggle | Szybszy workflow dla Google XML bez wejscia w edycje produktu | 2026-04-19 | Active | | Kalkulacja kosztu transportu na /koszyk-podsumowanie w kontrolerze (nie w szablonie) | Spojnosc logiki progu darmowej dostawy miedzy /koszyk i /koszyk-podsumowanie | 2026-04-20 | Active | ## Success Metrics | Metric | Target | Current | Status | |--------|--------|---------|--------| | Testy | >800 | 834 | On track | | Pokrycie architektury DDD | 100% | 100% | Achieved | ## Tech Stack | Layer | Technology | Notes | |-------|------------|-------| | Backend | PHP 7.4+ | < 8.0 na produkcji | | ORM | Medoo | `$mdb` global | | Cache | Redis | CacheHandler singleton | | Frontend | HTML/CSS/JS | Własny silnik szablonów (Tpl) | | Auth | Sesje PHP | CSRF, XSS protection | | Testy | PHPUnit 9.6 | phpunit.phar | ## Specialized Flows See: .paul/SPECIAL-FLOWS.md Quick Reference: - /feature-dev -> Nowe funkcje, większe zmiany (required) - /koniec-pracy -> Release, update package (required) - /frontend-design -> Komponenty UI, szablony widoków - /code-review -> Przegląd kodu przed release - /simplify -> Upraszczanie po implementacji - /claude-md-improver -> Utrzymanie CLAUDE.md - /zapisz + /wznow -> Zapis i wznowienie sesji --- *PROJECT.md - Updated when requirements or context change* *Last updated: 2026-04-20 after Phase 17*