Recipe corpus (#108): - Add _MAIN_INGREDIENT_SIGNALS to tag_inferrer.py (Chicken/Beef/Pork/Fish/Pasta/ Vegetables/Eggs/Legumes/Grains/Cheese) — infers main:* tags from ingredient names - Update browser_domains.py main_ingredient categories to use main:* tag queries instead of raw food terms; recipe_browser_fts now has full 3.19M row coverage (was ~1.2K before backfill) Bug fixes: - Fix community posts response shape (#96): add total/page/page_size fields - Fix export endpoint arg types (#92) - Fix household invite store leak (#93) - Fix receipts endpoint issues - Fix saved_recipes endpoint - Add session endpoint (app/api/endpoints/session.py) Shopping list: - Add migration 033_shopping_list.sql - Add shopping schemas (app/models/schemas/shopping.py) - Add ShoppingView.vue, ShoppingItemRow.vue, shopping.ts store Frontend: - InventoryList, RecipesView, RecipeDetailPanel polish - App.vue routing updates for shopping view Docs: - Add user-facing docs under docs/ (getting-started, user-guide, reference) - Add screenshots
62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
# Inventory
|
|
|
|

|
|
|
|
The inventory is your pantry. Every item you add gives Kiwi the data it needs to show pantry match percentages, flag expiry, and rank recipe suggestions.
|
|
|
|
## Adding items
|
|
|
|
### By barcode
|
|
|
|
Tap the barcode scanner icon. Point your camera at the barcode on the product. Kiwi checks the open barcode database and fills in the product name and category.
|
|
|
|
If the product isn't in the database, you'll see a manual entry form pre-filled with whatever was decoded from the barcode — just add a name and save.
|
|
|
|
### By receipt
|
|
|
|
Upload a receipt photo in the **Receipts** tab. After the receipt is processed, approved items are added to your pantry in bulk. See [Receipt OCR](receipt-ocr.md) for details.
|
|
|
|
### Manually
|
|
|
|
Click **Add item** and fill in:
|
|
|
|
| Field | Required | Notes |
|
|
|-------|----------|-------|
|
|
| Name | Yes | What is it? |
|
|
| Quantity | Yes | Number + unit (e.g., "2 cans", "500 g") |
|
|
| Expiry date | No | Used for expiry alerts and leftover mode |
|
|
| Category | No | Helps with dietary filtering |
|
|
| Notes | No | Storage instructions, opened date, etc. |
|
|
|
|
## Editing and deleting
|
|
|
|
Click any item in the list to edit its quantity, expiry date, or notes. Items can be deleted individually or in bulk via the selection checkbox.
|
|
|
|
## Expiry alerts
|
|
|
|
Kiwi flags items approaching expiry with a color indicator:
|
|
|
|
- **Red**: expires within 2 days
|
|
- **Orange**: expires within 7 days
|
|
- **Yellow**: expires within 14 days
|
|
|
|
The **Leftover mode** uses this same expiry window to prioritize nearly-expired items in recipe rankings.
|
|
|
|
## Inventory stats
|
|
|
|
The stats panel (top of the Inventory page) shows:
|
|
|
|
- Total items in pantry
|
|
- Items expiring this week
|
|
- Breakdown by category
|
|
- Items added this month
|
|
|
|
## CSV export
|
|
|
|
Click **Export** to download your full pantry as a CSV file. The export includes name, quantity, category, expiry date, and notes for every item.
|
|
|
|
## Bulk operations
|
|
|
|
- Select multiple items with the checkbox column
|
|
- **Delete selected** — remove items in bulk
|
|
- **Mark as used** — remove items you've cooked with (coming in Phase 3)
|