docs: define v1 requirements
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
54
.planning/REQUIREMENTS.md
Normal file
54
.planning/REQUIREMENTS.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# Requirements: PomyslowePrezenty.pl
|
||||
|
||||
**Defined:** 2026-03-10
|
||||
**Core Value:** Sklep musi działać stabilnie — klienci mogą bez problemów składać zamówienia i płacić
|
||||
|
||||
## v1 Requirements
|
||||
|
||||
### Zamówienia
|
||||
|
||||
- [ ] **ORD-01**: Zamówienie jest tworzone dokładnie raz — wielokrotny submit formularza nie tworzy duplikatów
|
||||
- [ ] **ORD-02**: Mechanizm ochrony przed ponownym wysłaniem zamówienia (token jednorazowy lub lock)
|
||||
- [ ] **ORD-03**: createFromBasket() opakowane w transakcję DB — insert zamówienia, dekrementacja stanu magazynowego i zużycie kuponu jako operacja atomowa
|
||||
|
||||
## v2 Requirements
|
||||
|
||||
### Integralność zamówień
|
||||
|
||||
- **ORD-04**: Unikalność numerów zamówień — fix race condition w generateOrderNumber()
|
||||
|
||||
### Bezpieczeństwo płatności
|
||||
|
||||
- **PAY-01**: Idempotentność webhooków Tpay — guard na status `paid`
|
||||
- **PAY-02**: Idempotentność webhooków Przelewy24 — wzmocnienie istniejącego guardu
|
||||
- **PAY-03**: Idempotentność webhooków Hotpay + przeniesienie hardcoded secretu do config
|
||||
|
||||
### Spójność cen
|
||||
|
||||
- **PRICE-01**: Spójność kalkulacji cen między BasketCalculator::summaryPrice() a OrderRepository::calculateOrderSummaryByAdmin()
|
||||
|
||||
## Out of Scope
|
||||
|
||||
| Feature | Reason |
|
||||
|---------|--------|
|
||||
| Nowe funkcje sklepu | Osobny milestone po stabilizacji |
|
||||
| Redesign frontend | Nie jest priorytetem |
|
||||
| Migracja na framework | Projekt zostaje na autorskim rozwiązaniu |
|
||||
| Refaktor architektury | Bugfix-first, refaktor osobno |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| ORD-01 | Phase 1 | Pending |
|
||||
| ORD-02 | Phase 1 | Pending |
|
||||
| ORD-03 | Phase 1 | Pending |
|
||||
|
||||
**Coverage:**
|
||||
- v1 requirements: 3 total
|
||||
- Mapped to phases: 3
|
||||
- Unmapped: 0 ✓
|
||||
|
||||
---
|
||||
*Requirements defined: 2026-03-10*
|
||||
*Last updated: 2026-03-10 after initial definition*
|
||||
Reference in New Issue
Block a user