44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# Product requirements
|
||
|
||
SlabUploader creates one WooCommerce listing per wood slab for Whidbey Wood Store.
|
||
|
||
Each slab is one unit and one listing. Photos and metadata are the inventory record.
|
||
|
||
## Complete listing
|
||
|
||
- Inventory photo(s), uniform 3:4 transparent PNG
|
||
- SKU, length, thickness, price
|
||
- Species, wood category, edge type, figure, grade
|
||
- Thickness band, moisture
|
||
- One or more `fig-*` tags
|
||
- Title, short title, description
|
||
- Zero or more `feat-*` tags
|
||
|
||
Store categories, attributes, and `fig-*` / `feat-*` tags are the filters. Measured values feed title and description templates.
|
||
|
||
## Decision rights
|
||
|
||
| Field | Source |
|
||
|---|---|
|
||
| Length, thickness | User |
|
||
| SKU | User |
|
||
| Mask and crop | App proposal, user approve |
|
||
| Widths, sqft, bdft | App, from approved reference photo + length + thickness |
|
||
| Species, wood category, edge, figure, grade, tags | App may propose; user may change |
|
||
| Price | App proposal `bdft × species $/bdft`; user may replace |
|
||
| Title, short title, description | Templates from listing facts; user may edit |
|
||
|
||
## Create
|
||
|
||
FastAPI is the Woo client. Store credentials stay on the server.
|
||
`SLAB-UAT-*` creates as draft.
|
||
Duplicate SKU blocks create.
|
||
A listing can be created with inference off.
|
||
|
||
## Milestones
|
||
|
||
1. Capture — `docs/CAPTURE.md` (current increment)
|
||
2. Review — remaining listing fields in the app
|
||
3. Create — Woo draft for a practice SKU
|
||
4. Assist — optional vision and generated copy on a working manual path
|