Tagging and Organization System
This directory contains individual user stories related to tag creation, tag application to various entities, and tag-based search and filtering.
Overview
Section titled “Overview”The tagging system enables hosts to organize recipes, products, events, and bar setups using flexible tags. Tags can be categorized by type (occasion, season, flavor, technique, difficulty, style, custom) and used for filtering, searching, and organizing content.
Story Summary
Section titled “Story Summary”✅ Implemented Stories (1) - Moved to completed/ directory
Section titled “✅ Implemented Stories (1) - Moved to completed/ directory”Note: The implemented tagging story has been moved to ../completed/ directory.
Priority: Low
Status: ✅ Implemented (December 2025 / January 2026)
Add tags to products in inventory for organization beyond category. Products can be filtered by tags on the Products list screen using the ProductFilters component.
Implementation: TagSelector component, ProductFilters integration, tag display on product detail screen.
⚠️ Partially Implemented Stories (3)
Section titled “⚠️ Partially Implemented Stories (3)”Priority: Medium
Status: ⚠️ Partially Implemented (January 2025)
Backend tagging system is complete (database, schemas, context), but tag management screens in the frontend are not yet fully implemented. UI components exist but tag creation/editing UI may be incomplete.
Implementation: Backend complete, UI components exist, management screens needed.
See: Tagging System Implementation
Priority: Medium
Status: ⚠️ Partially Implemented (January 2026)
TagFilter component exists with AND/OR logic, and products can be filtered by tags. Cross-entity search, saved searches, and grouped results are not yet implemented.
Implementation: Products filtering complete, cross-entity search needed.
Priority: Low
Status: ⚠️ Partially Implemented (January 2025)
Backend bulk operations exist (bulk_tag_entities, bulk_untag_entities), but frontend UI for bulk selection and operations is not yet implemented.
Implementation: Backend functions complete, UI needed.
⏳ Planned Stories (6)
Section titled “⏳ Planned Stories (6)”Priority: Medium
Status: ⏳ Not Yet Implemented
Add tags to recipes. Requires Recipe entity in backend with tagging associations.
Dependencies: Recipe entity in backend, tagging associations, GraphQL schema
Priority: Low
Status: ⏳ Not Yet Implemented
Add tags to events for organizing event history. Requires Event entity in backend with tagging associations.
Dependencies: Event entity in backend, tagging associations, GraphQL schema
Priority: Low
Status: ⏳ Not Yet Implemented
Add tags to bar setup configurations for reuse. Requires BarSetup entity in backend with tagging associations.
Dependencies: BarSetup entity in backend, tagging associations, GraphQL schema
Priority: Medium
Status: ⏳ Not Yet Implemented
Filter recipes by tags when building a menu. Requires recipe tagging to be implemented first.
Dependencies: Tag Recipes (Story 5), menu building screen
Priority: Low
Status: ⏳ Not Yet Implemented
Auto-suggest tags based on recipe characteristics (ingredients, method, flavor, complexity). Requires recipe tagging and analysis features.
Dependencies: Tag Recipes (Story 5), recipe analysis features
Priority: Low
Status: ⏳ Not Yet Implemented
View analytics about tag usage including most/least used tags, distributions, and gaps. Backend utilities exist but dashboard UI is needed.
Dependencies: Multiple entity types with tags, analytics dashboard UI
Implementation Progress
Section titled “Implementation Progress”Overall Status
Section titled “Overall Status”Implemented: 1 of 10 stories (10%)
Partially Implemented: 3 of 10 stories (30%)
Planned: 6 of 10 stories (60%)
Priority Breakdown
Section titled “Priority Breakdown”High Priority (0 stories):
None - all stories are Medium or Low priority
Medium Priority (4 stories):
- ⚠️ Create Custom Tags (partial)
- ⚠️ Search by Tags (partial)
- ⏳ Tag Recipes
- ⏳ Filter Menu by Tags
Low Priority (6 stories):
- ✅ Tag Products (implemented)
- ⚠️ Bulk Tag Management (partial)
- ⏳ Tag Events
- ⏳ Tag Bar Setups
- ⏳ Auto-Suggest Tags
- ⏳ View Tag Analytics
Foundation Status
Section titled “Foundation Status”Backend System:
- ✅ Database schema (tags and taggables tables)
- ✅ Elixir schemas with validations
- ✅ Well.Tagging context with CRUD operations
- ✅ 7 tag types supported (occasion, season, flavor, technique, difficulty, style, custom)
- ✅ Bulk operations available
Frontend Components:
- ✅ TagBadge component
- ✅ TagList component
- ✅ TagPicker component
- ✅ TagFilter component (with AND/OR logic)
- ✅ TagSelector component (for products)
- ✅ Tag utility functions
Entity Integration:
- ✅ Products: Fully integrated with filtering
- ⏳ Recipes: Not yet integrated (entities don’t exist in backend)
- ⏳ Events: Not yet integrated (entities don’t exist in backend)
- ⏳ BarSetups: Not yet integrated (entities don’t exist in backend)
Current System:
- Products use older
product-tagssystem with PREDEFINED_TAGS - New backend tagging system is ready but not yet connected to entities
- Tag filtering works for products via ProductFilters component
See: Tagging System Implementation for complete details.
Related Documentation
Section titled “Related Documentation”- Tagging System Implementation - Complete implementation details
- Product Tags - Product tags system (older system)
- Tag Component Library - Tag UI components
Usage Guidelines
Section titled “Usage Guidelines”- For Product Organization: Use Story 1 to tag and filter products
- For Tag Creation: Use Story 2 to create custom tags (when management screens are available)
- For Searching: Use Story 3 to search across entities by tags (when cross-entity search is implemented)
- For Menu Building: Use Story 8 to filter recipes by tags when building menus (when recipe tagging is implemented)
- For Bulk Operations: Use Story 10 to efficiently organize large collections (when UI is implemented)
Future Enhancements
Section titled “Future Enhancements”The tagging system foundation is in place:
- ✅ Backend infrastructure complete
- ✅ UI components ready
- ✅ Products integrated
- ⏳ Entity associations needed (recipes, events, bar setups)
- ⏳ GraphQL integration needed
- ⏳ Management screens needed
- ⏳ Analytics dashboard needed
- ⏳ Auto-suggestion algorithm needed
Once entities are created in the backend and GraphQL is set up, the tagging system can be fully integrated across all entity types.