Commit Graph

8 Commits

Author SHA1 Message Date
Claude
392bfb186f refactor: Unify database migrations into single initial schemas
Consolidated incremental migrations into single unified initial schema files for both procurement and production services. This simplifies database setup and eliminates migration chain complexity.

Changes:
- Procurement: Merged 3 migrations into 001_unified_initial_schema.py
  - Initial schema (20251015_1229)
  - Add supplier_price_list_id (20251030_0737)
  - Add JTBD reasoning fields (20251107)

- Production: Merged 3 migrations into 001_unified_initial_schema.py
  - Initial schema (20251015_1231)
  - Add waste tracking fields (20251023_0900)
  - Add JTBD reasoning fields (20251107)

All new fields (reasoning, consequence, reasoning_data, waste_defect_type, is_ai_assisted, supplier_price_list_id) are now included in the initial schemas from the start.

Updated model files to use deferred() for reasoning fields to prevent breaking queries when running against existing databases.
2025-11-07 17:35:38 +00:00
Claude
2ced1ec670 feat: Complete JTBD-aligned bakery dashboard redesign
Implements comprehensive dashboard redesign based on Jobs To Be Done methodology
focused on answering: "What requires my attention right now?"

## Backend Implementation

### Dashboard Service (NEW)
- Health status calculation (green/yellow/red traffic light)
- Action queue prioritization (critical/important/normal)
- Orchestration summary with narrative format
- Production timeline transformation
- Insights calculation and consequence prediction

### API Endpoints (NEW)
- GET /dashboard/health-status - Overall bakery health indicator
- GET /dashboard/orchestration-summary - What system did automatically
- GET /dashboard/action-queue - Prioritized tasks requiring attention
- GET /dashboard/production-timeline - Today's production schedule
- GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries)

### Enhanced Models
- PurchaseOrder: Added reasoning, consequence, reasoning_data fields
- ProductionBatch: Added reasoning, reasoning_data fields
- Enables transparency into automation decisions

## Frontend Implementation

### API Hooks (NEW)
- useBakeryHealthStatus() - Real-time health monitoring
- useOrchestrationSummary() - System transparency
- useActionQueue() - Prioritized action management
- useProductionTimeline() - Production tracking
- useInsights() - Glanceable metrics

### Dashboard Components (NEW)
- HealthStatusCard: Traffic light indicator with checklist
- ActionQueueCard: Prioritized actions with reasoning/consequences
- OrchestrationSummaryCard: Narrative of what system did
- ProductionTimelineCard: Chronological production view
- InsightsGrid: 2x2 grid of key metrics

### Main Dashboard Page (REPLACED)
- Complete rewrite with mobile-first design
- All sections integrated with error handling
- Real-time refresh and quick action links
- Old dashboard backed up as DashboardPage.legacy.tsx

## Key Features

### Automation-First
- Shows what orchestrator did overnight
- Builds trust through transparency
- Explains reasoning for all automated decisions

### Action-Oriented
- Prioritizes tasks over information display
- Clear consequences for each action
- Large touch-friendly buttons

### Progressive Disclosure
- Shows 20% of info that matters 80% of time
- Expandable details when needed
- No overwhelming metrics

### Mobile-First
- One-handed operation
- Large touch targets (min 44px)
- Responsive grid layouts

### Trust-Building
- Narrative format ("I planned your day")
- Reasoning inputs transparency
- Clear status indicators

## User Segments Supported

1. Solo Bakery Owner (Primary)
   - Simple health indicator
   - Action checklist (max 3-5 items)
   - Mobile-optimized

2. Multi-Location Owner
   - Multi-tenant support (existing)
   - Comparison capabilities
   - Delegation ready

3. Enterprise/Central Bakery (Future)
   - Network topology support
   - Advanced analytics ready

## JTBD Analysis Delivered

Main Job: "Help me quickly understand bakery status and know what needs my intervention"

Emotional Jobs Addressed:
- Feel in control despite automation
- Reduce daily anxiety
- Feel competent with technology
- Trust system as safety net

Social Jobs Addressed:
- Demonstrate professional management
- Avoid being bottleneck
- Show sustainability

## Technical Stack

Backend: Python, FastAPI, SQLAlchemy, PostgreSQL
Frontend: React, TypeScript, TanStack Query, Tailwind CSS
Architecture: Microservices with circuit breakers

## Breaking Changes

- Complete dashboard page rewrite (old version backed up)
- New API endpoints require orchestrator service deployment
- Database migrations needed for reasoning fields

## Migration Required

Run migrations to add new model fields:
- purchase_orders: reasoning, consequence, reasoning_data
- production_batches: reasoning, reasoning_data

## Documentation

See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details,
JTBD analysis, success metrics, and deployment guide.

BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
Urtzi Alfaro
61376b7a9f Improve the frontend and fix TODOs 2025-10-24 13:05:04 +02:00
Urtzi Alfaro
2de1e6ce40 Add quality template logic 2025-09-24 16:42:23 +02:00
Urtzi Alfaro
7892c5a739 Add improved production UI 3 2025-09-23 19:24:22 +02:00
Urtzi Alfaro
13ca3e90b4 Improve the production frontend 2025-09-21 07:45:19 +02:00
Urtzi Alfaro
90100a66c6 Delete legacy alerts 2025-08-22 15:31:52 +02:00
Urtzi Alfaro
c6dd6fd1de Add more services 2025-08-21 20:28:14 +02:00