first commit

This commit is contained in:
2026-07-09 10:02:08 +05:30
commit 438ab2cdbd
27 changed files with 2164 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
# 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_URL` wired (`.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)
- [ ] `ProblemDetails` normalizer + `code → message` map (`lib/`)
## 1. Auth
- [ ] Login screen → `POST /auth/login`; store token; attach to client
## 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 `ProblemDetails` incl. domain codes; map to fields/messages
- [ ] `412` conflict → 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
## Done
<!-- move [x] items here with date + note if the active list grows long -->