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

118 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)
- [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)
### 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 |
| 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 |
## 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 | 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-18 after Phase 15*