Item CRUD: full lifecycle from FOUND to SOLD #4

Open
opened 2026-06-16 08:42:50 +00:00 by martin · 0 comments
Owner

Story

As a user, I want to create, read, update, and delete inventory items so I can track every item through its resale lifecycle.

Lifecycle

FOUND → LISTED → SOLD → ARCHIVED
  • FOUND: acquired but not yet photographed/evaluated
  • LISTED: posted on eBay, Kleinanzeigen, etc.
  • SOLD: buyer confirmed, awaiting shipment or shipped
  • ARCHIVED: off market (broken, kept, donated)

Acceptance criteria

  • POST /items creates an item (only title required – fast entry mode)
  • GET /items lists items with pagination + ?status= and ?search= filters
  • GET /items/{id} returns one item
  • PATCH /items/{id} updates any field, e.g. status flip or adding a listing URL
  • DELETE /items/{id} is admin-only (customers use ARCHIVE instead)
  • purchase_price, listing_price, sale_price tracked for profit calculation

Notes

Ported from v1 issue #2. Backend stub is already in place (app/routers/items.py).

## Story As a user, I want to create, read, update, and delete inventory items so I can track every item through its resale lifecycle. ## Lifecycle ``` FOUND → LISTED → SOLD → ARCHIVED ``` - **FOUND**: acquired but not yet photographed/evaluated - **LISTED**: posted on eBay, Kleinanzeigen, etc. - **SOLD**: buyer confirmed, awaiting shipment or shipped - **ARCHIVED**: off market (broken, kept, donated) ## Acceptance criteria - [ ] `POST /items` creates an item (only `title` required – fast entry mode) - [ ] `GET /items` lists items with pagination + ?status= and ?search= filters - [ ] `GET /items/{id}` returns one item - [ ] `PATCH /items/{id}` updates any field, e.g. status flip or adding a listing URL - [ ] `DELETE /items/{id}` is admin-only (customers use ARCHIVE instead) - [ ] `purchase_price`, `listing_price`, `sale_price` tracked for profit calculation ## Notes Ported from v1 issue #2. Backend stub is already in place (`app/routers/items.py`).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: martin/flipventory_v2#4