Shopping List Management
This directory contains individual user stories related to shopping list generation, management, and tracking for events.
Overview
Section titled “Overview”The shopping list system enables hosts to generate shopping lists from event menus, manually add items, check off items while shopping, view items by category, track costs, and automatically update inventory after shopping. This system streamlines event preparation and inventory management.
Story Summary
Section titled “Story Summary”✅ Implemented Stories (6) - Moved to completed/ directory
Section titled “✅ Implemented Stories (6) - Moved to completed/ directory”Note: All implemented shopping list stories have been moved to ../completed/ directory.
Priority: High
Status: ✅ Implemented (January 2026)
Automatically generate shopping lists from event menus with intelligent quantity calculation, ingredient aggregation, and categorization.
Implementation: Core generation logic with unit tests, event integration, configurable drinks per guest and safety margin.
Priority: Medium
Status: ✅ Implemented (January 2026)
Add custom items (ice, napkins, backup supplies) to shopping lists with quantity, cost, and category.
Implementation: Add item screen with full item specification.
Priority: High
Status: ✅ Implemented (January 2026)
Check off items as you shop with visual feedback, progress tracking, and product selection for inventory updates.
Implementation: Checkbox UI, progress indicators, product selection modal, automatic inventory updates.
Priority: Medium
Status: ✅ Implemented (January 2026)
View shopping list organized by category (Spirits, Mixers, Garnishes, etc.) with item counts and progress per category.
Implementation: Category grouping, category cards with badges, summary calculations.
Priority: Low
Status: ✅ Implemented (January 2026)
Track estimated and actual costs for shopping list items with variance tracking and price history integration.
Implementation: Cost display in summary, actual cost entry, price history tracking.
Priority: High
Status: ✅ Implemented (January 2026)
Automatically update inventory when checking off items with product selection. Sets product levels to full and tracks price history.
Implementation: Product selection modal, automatic inventory updates, price history integration. Currently item-by-item; bulk update may be added.
⚠️ Partially Implemented Stories (1)
Section titled “⚠️ Partially Implemented Stories (1)”Priority: Medium
Status: ⚠️ Partially Implemented (January 2026)
Edit button exists and routes to edit screen, but edit item screen implementation may be incomplete.
Current: Edit button on shopping list items, updateItem function exists
Missing: Edit item screen UI implementation
Implementation Progress
Section titled “Implementation Progress”Overall Status
Section titled “Overall Status”Implemented: 6 of 7 stories (86%)
Partially Implemented: 1 of 7 stories (14%)
Planned: 0 of 7 stories (0%)
Priority Breakdown
Section titled “Priority Breakdown”High Priority (3 stories):
- ✅ Generate Shopping List from Event Menu
- ✅ Check Off Items While Shopping
- ✅ Update Inventory from Shopping List
Medium Priority (3 stories):
- ✅ Manually Add Items to Shopping List
- ✅ View Shopping List by Category
- ⚠️ Edit Shopping List Item Quantities (partial)
Low Priority (1 story):
- ✅ Track Shopping List Cost
Key Features
Section titled “Key Features”Shopping List Generation:
- ✅ Automatic generation from event menus
- ✅ Intelligent quantity calculation (guests × drinks per guest)
- ✅ Safety margin application (default 20%)
- ✅ Ingredient aggregation across recipes
- ✅ Beer and wine estimation
- ✅ Automatic categorization
Shopping List Management:
- ✅ Manual item addition
- ✅ Check-off functionality with visual feedback
- ✅ Progress tracking (count and percentage)
- ✅ Category organization
- ⚠️ Item editing (partial)
Cost Tracking:
- ✅ Estimated cost per item
- ✅ Actual cost entry during check-off
- ✅ Total cost display (estimated and actual)
- ✅ Category-level cost tracking
- ✅ Price history integration
Inventory Integration:
- ✅ Product selection when checking off items
- ✅ Automatic product level updates (set to full)
- ✅ Price history entry
- ✅ Inventory accuracy maintenance
Files Created
Section titled “Files Created”Core Logic:
shaker/utils/shoppingListGeneration.ts- Generation algorithmshaker/utils/__tests__/shoppingListGeneration.test.ts- Unit tests
Data Layer:
shaker/data/shopping-lists/index.ts- Shopping list operationsshaker/types/shopping-list.ts- Types and utilities
UI Screens:
shaker/app/(tabs)/inventory/shopping/index.tsx- Main shopping list screenshaker/app/(tabs)/inventory/shopping/add-item.tsx- Add item screen
Components:
shaker/components/ProductSelectionModal.tsx- Product selection for check-off
Related Documentation
Section titled “Related Documentation”- Shopping List Generation - Core generation logic
- Shopping List User Guide - User-facing documentation
Usage Guidelines
Section titled “Usage Guidelines”- For Event Planning: Use Story 1 to generate shopping lists from event menus
- For Custom Items: Use Story 2 to add non-recipe items (ice, napkins, etc.)
- For Shopping: Use Story 3 to check off items as you shop
- For Organization: Use Story 4 to view items by category for efficient shopping
- For Budgeting: Use Story 6 to track estimated and actual costs
- For Inventory: Use Story 7 to automatically update inventory after purchases
Future Enhancements
Section titled “Future Enhancements”Planned Improvements:
- Compare shopping list against current inventory to show only needed items
- Estimate costs based on product pricing data
- Suggest product substitutions based on availability
- Export shopping list to external apps (Notes, Reminders)
- Barcode scanning integration for quick check-off
- Complete edit item screen implementation
- Bulk inventory update on shopping list completion
- Review screen before confirming bulk updates
The shopping list system is highly functional with most features implemented. Remaining work focuses on polish (edit screen completion) and advanced features (inventory comparison, export, barcode scanning).