Files
ERP-core/Frontend/PROGRESS.md

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_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 — UI built (app/login); not yet wired to POST /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 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