Files
baya-monorepo/dev
hamid 99ebf5d881 frontend phase 4: catalog browse (Home A5) & nurse service builder (B7)
Light up the two faces of the configurable service catalog over a new cached
services/catalog domain (consumes the b5 contract; unlocks f6 search).

- services/catalog: types/keys/constants/apis(client+mock+seam)/hooks/index +
  names.ts. Categories & option groups are session-cached reference data
  (Infinity staleTime, like geography); variant mutations invalidate
  myVariantsLists() and setQueryData the edited row. Mock-primary
  (USE_CATALOG_MOCK), one-line swap; mock reproduces the 400 missing-required
  and (nurse,category,option-set) 409 duplicate rules.
- Customer Home (A5): greeting+avatar, search bar (navigates toward f6),
  data-driven category grid (loading/empty/error), patient nudge from the
  cached f2 query. Deferred /search placeholder stub.
- Nurse Services & prices (B7) at /nurse/services: offerings list (active vs
  deactivated, edit, soft-deactivate w/ confirm, reactivate, no delete) and a
  3-step variant builder (category -> required/optional options -> price+unit+
  duration). Required-group gate; Toman->IRR digit-string at the field
  boundary (no float); live unit-aware estimated total (never from price
  alone); editable auto display_name; inline 409 duplicate warning; locked
  category edit form.
- Shared, tested components: CategoryTile, PriceDisplay, VariantCard. Money
  util: tomanToRial + multiplyIrr (integer-safe) + tests.
- i18n: catalog/services/search namespaces + home additions + nav.services
  (both locales, in sync). Icons, routes (SEARCH, NURSE_SERVICES), nurse nav.

Gate: npm run check green; npm run test:ci green (147 tests, +18 across 4
suites); npm run build green with NEXT_PUBLIC_API_URL set.

Docs: client/CLAUDE.md (Project Structure, caching note, namespaces), STATUS,
for-backend REQ-010 (pagination param casing), phase report, mocks registry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 17:33:44 +03:30
..
2026-06-28 21:59:59 +03:30
2026-06-28 21:59:59 +03:30

dev/ — the Balinyaar build workspace

This folder is the plan for building Balinyaar, not application code. It takes the repo from its current starter + auth baseline to the MVP described in product/, as a chain of agent-runnable prompt files split into two parallel tracks.

Folder What it is
phases/ The prompt chain — backend/ (b0b15) and frontend/ (f0f15), plus the shared rules/template in phases/_shared/. Start at phases/README.md.
contracts/ The shared API/flow contract between the two independent projects. Backend writes, frontend reads.
shared-working-context/ The parallel-agent handoff + per-phase reports + the mock registry. Each lane writes only its own files.

How to use it

  1. Read phases/README.md — the roadmap and dependency graph.
  2. To run a phase, point a fresh agent at one phase file (e.g. "Execute dev/phases/backend/backend-phase-2.md"). The phase file tells it what to read, what to build, and how to close out.
  3. Run the two tracks in parallel with two agents if you like: a frontend phase named frontend-phase-N-bM.md only needs backend phase bM merged first; everything else about the two tracks is decoupled through contracts/ and shared-working-context/ (which are designed so the two agents never touch the same files).

Non-negotiables (every phase enforces them)