Files
shopPRO/.paul/PROJECT.md
Jacek 5b66720f7c fix: scontainers edit saves existing record instead of creating new
Fixes static container admin edit flow by preserving id in hiddenFields and adding route-id fallback during save.
Adds regression tests for edit/create id behavior, updates release docs (changelog/testing/CLAUDE), and appends SonarQube open issues to docs/TODO.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-18 22:56:14 +02:00

4.0 KiB
Raw Blame History

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

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-18

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)

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: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
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

Success Metrics

Metric Target Current Status
Testy >800 821 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 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-18 after Phase 15