2.5 KiB
2.5 KiB
Frontend — PROGRESS (Phase 1: Inventory & Supply Chain)
Legend: [ ] not started · [~] in progress · [x] done
Spec: docs/20-FRONTEND.md (flows + rules) · docs/11-BACKEND-PHASE1.md (API contract)
Convention: docs/01-DOC-GUIDE.md §6. Update this file in the same commit as the code. When ticking [x], append a short note + any deviation.
0. Foundation
NEXT_PUBLIC_API_BASE_URLwired (.env.local)- Typed API client / fetch wrapper (one method per endpoint) + bearer token handling
- Shared TS types mirroring API DTOs (
types/) - Dependency-free client validation helpers (format/required/range)
ProblemDetailsnormalizer +code → messagemap (lib/)
1. Auth
- [~] Login screen — UI built (
app/login); not yet wired toPOST /auth/login/ token storage - [~] Forgot password — add email screen — UI built (
app/login/forgot); not yet wired to API - [~] Forgot password — verify OTP screen — UI built (
app/login/forgot/otp); not yet wired to API - [~] Forgot password — change password screen — UI built (
app/login/forgot/reset); not yet wired to API
2. Master Data screens
- Items (list + create/edit, ETag handling)
- UOM + conversions
- Categories (tree)
- Vendors
- Warehouses + Bins
- Item reorder settings
3. Procurement screens
- Requisition (create + submit)
- RFQ + quotations + comparison view
- Purchase Order (create, edit-while-open, cancel)
- Purchase Return
4. Receiving screens
- GRN create (qty, bin, batch/serial capture)
- GRN confirm (render created layers / ledger refs)
- Inspection hold release / reject
5. Stock screens
- Stock enquiry (onHand/available/onHold/inTransit)
- Ledger view · Valuation view
- Transfer (create → dispatch → receive)
- Adjustment (reason code required)
- Count (cycle/full → enter → post)
- Reorder alerts (+ create requisition)
6. Validation posture (20-FRONTEND §3)
- Client format/required/range checks on all forms
- Surface server
ProblemDetailsincl. domain codes; map to fields/messages 412conflict → prompt refetch before retry- No client-side gating on stock/availability/status (server-authoritative)
7. UX states
- Loading / empty / error states on every list
- Transactional actions show server-returned side effects as confirmation