# Tester review vs actual implementation

Source: Word specs in `new1405.05.04` (uncolored rows = tester marked “not done”; green = in design, skipped).

Checked against:

- User app: `rievo-nuxt-front`
- Admin: Filament in `rievo-api`

---

## 1. What we updated (this round)

### API (`rievo-api`)

| Change | Why |
|--------|-----|
| Project-request `payload.facilities.*` accepts objects (`name`, `count`, `image`, `description`) | Producer “ثبت درخواست جدید” was 422 because the UI sent objects and validation required strings |
| `PATCH /api/support-tickets/{code}/close` with required `close_reason` | Spec: close ticket with a reason; UI had no endpoint |
| Discussion search matches title, hashtag, first message, and message bodies | Tester: message search did not work |

### Frontend (`rievo-nuxt-front`)

| Area | Change |
|------|--------|
| Support | Close ticket with reason; hide reply when closed |
| Gallery | Status badges; status + date filters; lightbox (prev/next); download |
| Documents | Search; status filter; view + download |
| Project hub | Replaced “به‌زودی” with status, value, costs, profit chart, contract CTA |
| Ration | Employer view-only; feeding photos; “go to invoice” CTA |
| Health reports | Date **and** time |
| Checkout / cart | Removed physical shipping and delivery address (investment, not goods) |
| Producer profile + project request | Lease must be at least 6 months |
| Messages | Search hits the API, not only room titles |

### Still not built (out of this pass)

SMS/email campaigns, 4-layer taxonomy dropdowns, shop sorts/filters, Excel/PDF **list** export, 3-line finance chart (price/cost/income), ticket message edit/delete, birthday SMS, role CRUD.

---

## 2. Tester missed it (already existed)

Grouped by Word file title.

### `Blogs_Khabarname.docx`

- Blog list and detail (`/blog`, `/blog/[slug]`)
- Newsletter subscribe in the footer (`POST /newsletters`)
- Excel of emails exists in **admin** Filament (`NewsletterResource`), not on the user site

### `Communications.docx`

- Support tickets: list, create, threaded replies (`/dashboard/support`)
- Discussions: rooms, last message, create discussion, main chat, history tab (`/dashboard/messages`)
- Shop / project Q&A: ask and list
- Gallery comments and media ratings
- Shop “نظرات من” and “امتیازهای من”

### `Gallery_Documents.docx`

- Per-project gallery + producer upload
- Archive summary boxes (recent / all images / videos)
- Comments, ratings, flag with reason for admin
- Document upload fields: name, type, number, company, validity dates

### `Financial.docx`

- Wallet + transaction list
- Invoice list / create / edit / view
- Category + subcategory, transport, recipients, cash/check, draft vs submit
- Project finance: cost / income / net + pie chart
- Invoice line items (name, unit, qty, price, total)

### `Products.docx`

- Product **create** exists in Filament admin (`ProductResource`)
- User site only **lists** shop products — tester treated the whole module as missing

### `Projects_List.docx`

- Project list and hub tabs (finance, growth, health, ration, gallery, documents)
- Contract OTP page
- Completion page
- Project requests with statuses (waiting / approved / rejected / edit)
- History of finished / sold projects

### `Reports_Growth.docx`

- List + filters, new/edit, draft/submit
- Monthly chart, current weight / daily growth / target
- Min/max, history table

### `Reports_Health.docx`

- New report, consumables CRUD, draft/final
- Remove-product flow, treatment progress, under-treatment tab
- History, invoice/attachment uploads

### `Reports_Ration.docx`

- List filters, service-provider select
- Ingredients / weight, attachments
- Daily feeding logs and notes

### `Services.docx`

- Browse experts, consultation request
- Expert accept / decline
- Public expert profile: education, licenses, stats

### `Setting.docx`

- Connected devices: list, remove, block/unblock (`/dashboard/devices`)
- Public price chart on the home page

### `Users.docx`

- Sign-up + OTP
- Producer and expert profile forms (personal + work + files)
- Public producer page `/producers/[id]`

### `Others.docx`

- Public producer page (intro, gallery, county, products, certificates, history) — incomplete vs spec, but not “not built”

### `error (1) (2).docx`

- “Cannot create new user” — user sign-up exists; admin create is Filament `UserResource`
- Admin “تماس‌ها” — inbound contact-form inbox (`ContactResource`), not a dead page
- Upload UI already existed; the real bug was project-request 422 (fixed above)

---

## 3. Tester was right (still missing or incomplete)

Use this as the remaining backlog. Not an excuse list for the rows above.

| File | Still missing / weak |
|------|----------------------|
| `Blogs_Khabarname.docx` | User-facing email/SMS blast |
| `Communications.docx` | Broadcast SMS/email/internal campaigns; ticket message edit/delete; Q&A moderation; block user; employer answering others’ Q&A |
| `Gallery_Documents.docx` | Gallery **edit** of previous upload; overall rating; full docs archive parity with gallery (now closer after this pass) |
| `Financial.docx` | Filtered Excel/PDF of lists; late-fee formula UI; unpaid SMS; month success/fail stats |
| `Products.docx` | 4-layer taxonomy on user forms |
| `Projects_List.docx` | 3-line finance chart; full completion automation; live-list filters; hide from shop until producer signs |
| `Reports_Growth.docx` | Per-product **chart** (table exists) |
| `Reports_Health.docx` | Animal code on form; PDF download (JSON today); employer-only lock |
| `Reports_Ration.docx` | Employer view-only was missing (fixed this pass) |
| `Services.docx` | Admin license pipeline / rich stats dashboard |
| `Setting.docx` | Role definition; assign projects to market price |
| `Users.docx` | Cascaded searchable taxonomy; real map pin; gender آقا/خانوم |
| `Others.docx` | Shop filters/sorts; sale-request gates (invoices paid, penalties, profit window) |
| `error (1) (2).docx` | Excel vs CSV mismatch; searchable dropdowns; 4-layer then product then project |

---

## 4. Color legend (from `error (1) (2).docx`)

| Highlight | Meaning |
|-----------|---------|
| Green | Already in design — skipped in this audit |
| None | Tester marked not done |
| Yellow | Improvement note, not a missing page |
