Files
shopPRO/.paul/PROJECT.md
Jacek eee22ef1c4 fix: poprawny koszt transportu na /koszyk-podsumowanie
Na podstronie /koszyk-podsumowanie transport z flaga delivery_free=1
byl pokazywany zawsze za 0,00 zl, niezaleznie od wartosci koszyka.
Teraz kontroler wylicza transport_cost_effective i free_delivery_applies
uwzgledniajac prog settings.free_delivery, a szablon uzywa tych kluczy.

- Nowa chroniona metoda ShopBasketController::calculateTransportCostForSummary
- Dodane 6 testow jednostkowych (ShopBasketControllerSummaryViewTest)
- Suita: 834 testy / 2318 assertions OK

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:50:15 +02:00

4.3 KiB

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)

  • Panel administratora - zarządzanie produktami, kategoriami, atrybutami
  • Panel administratora - zarządzanie zamówieniami
  • Panel administratora - zarządzanie klientami
  • Część frontowa - przeglądanie i kupowanie produktów
  • Koszyk i składanie zamówień
  • Integracje płatności i dostaw
  • REST API (ordersPRO + Ekomi)
  • Redis caching
  • Ochrona przed podwójnym składaniem zamówienia
  • Domain-Driven Architecture (migracja z legacy zakończona)
  • Szybka edycja custom_label_0..4 na liscie produktow admina (toggle sesyjny + autocomplete)
  • 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