Urtzi Alfaro c68d82ca7f Fix critical bugs and standardize service integrations
Critical Fixes:
- Orchestrator: Add missing OrchestrationStatus import (fixes HTTP 500 during demo clone)
- Procurement: Migrate from custom cache utils to shared Redis utils
- Suppliers: Use proper Settings for Redis configuration with TLS/auth
- Recipes/Suppliers clients: Fix endpoint paths (remove duplicate path segments)
- Procurement client: Use suppliers service directly for supplier details

Details:
1. services/orchestrator/app/api/internal_demo.py:
   - Added OrchestrationStatus import to fix cloning error
   - This was causing HTTP 500 errors during demo session cloning

2. services/procurement/app/api/purchase_orders.py + service:
   - Replaced app.utils.cache with shared.redis_utils
   - Standardizes caching across all services
   - Removed custom cache utilities (deleted app/utils/cache.py)

3. services/suppliers/app/consumers/alert_event_consumer.py:
   - Use Settings().REDIS_URL instead of os.getenv
   - Ensures proper Redis connection with TLS and authentication

4. shared/clients/recipes_client.py:
   - Fixed endpoint paths: recipes/recipes/{id} → recipes/{id}
   - Applied to all recipe methods (by_id, by_products, instructions, yield)

5. shared/clients/suppliers_client.py:
   - Fixed endpoint path: suppliers/suppliers/{id} → suppliers/{id}

6. shared/clients/procurement_client.py:
   - get_supplier_by_id now uses SuppliersServiceClient directly
   - Removes incorrect call to procurement service for supplier details

Impact:
- Demo session cloning now works without orchestrator errors 
- Consistent Redis usage across all services
- Correct service boundaries (suppliers data from suppliers service)
- Clean client endpoint paths

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 11:33:22 +01:00
2025-12-13 23:57:54 +01:00
2025-12-05 20:07:01 +01:00
2025-12-15 21:14:22 +01:00
2025-12-14 19:05:37 +01:00
2025-12-14 16:04:16 +01:00
2025-12-14 16:04:16 +01:00
2025-07-17 14:34:24 +02:00
2025-09-23 12:49:35 +02:00
2025-12-05 20:07:01 +01:00
2025-11-06 11:04:50 +01:00
2025-12-13 23:57:54 +01:00

🍞 BakeWise - Multi-Service Architecture

Welcome to BakeWise, an advanced AI-powered platform for bakery management and optimization. This project implements a microservices architecture with multiple interconnected services to provide comprehensive bakery management solutions.

🚀 Quick Start

Prerequisites

  • Docker Desktop with Kubernetes enabled
  • Docker Compose
  • Node.js (for frontend development)

Running the Application

  1. Clone the repository:

    git clone <repository-url>
    cd bakery-ia
    
  2. Set up environment variables:

    cp .env.example .env
    # Edit .env with your specific configuration
    
  3. Run with Docker Compose:

    docker-compose up --build
    
  4. Or run with Kubernetes (Docker Desktop):

    # Enable Kubernetes in Docker Desktop
    # Run the setup script
    ./scripts/setup-kubernetes-dev.sh
    

🏗️ Architecture Overview

The project follows a microservices architecture with the following main components:

  • Frontend: React-based dashboard for user interaction
  • Gateway: API gateway handling authentication and routing
  • Services: Multiple microservices handling different business domains
  • Infrastructure: Redis, RabbitMQ, PostgreSQL databases

🐳 Kubernetes Infrastructure

🛠️ Services

The project includes multiple services:

  • Auth Service: Authentication and authorization
  • Tenant Service: Multi-tenancy management
  • Sales Service: Sales processing
  • External Service: Integration with external systems
  • Training Service: AI model training
  • Forecasting Service: Demand forecasting
  • Notification Service: Notifications and alerts
  • Inventory Service: Inventory management
  • Recipes Service: Recipe management
  • Suppliers Service: Supplier management
  • POS Service: Point of sale
  • Orders Service: Order management
  • Production Service: Production planning
  • Alert Processor: Background alert processing

📊 Monitoring

The system includes comprehensive monitoring with:

  • Prometheus for metrics collection
  • Grafana for visualization
  • ELK stack for logging (planned)

🚀 Production Deployment

For production deployment on clouding.io with Kubernetes:

  1. Set up your clouding.io Kubernetes cluster
  2. Update image references to your container registry
  3. Configure production-specific values
  4. Deploy using the production kustomization:
    kubectl apply -k infrastructure/kubernetes/environments/production/
    

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

📄 License

This project is licensed under the MIT License.

Description
Main repository for Bakery IA project - Automatically created
Readme 20 MiB
Languages
Python 56.3%
TypeScript 39.6%
Shell 2.9%
CSS 0.4%
Starlark 0.3%
Other 0.3%