Claude 0086b53fa0 feat: Add automatic SKU generation to inventory service
BACKEND IMPLEMENTATION: Implemented SKU auto-generation following the proven
pattern from the orders service (order_number generation).

IMPLEMENTATION DETAILS:

**New Method: _generate_sku()**
Location: services/inventory/app/services/inventory_service.py:1069-1104

Format: SKU-{PREFIX}-{SEQUENCE}
- PREFIX: First 3 characters of product name (uppercase)
- SEQUENCE: Sequential 4-digit number per prefix per tenant
- Examples:
  - "Flour" → SKU-FLO-0001, SKU-FLO-0002, etc.
  - "Bread" → SKU-BRE-0001, SKU-BRE-0002, etc.
  - "Sourdough Starter" → SKU-SOU-0001, etc.

**Generation Logic:**
1. Extract prefix from product name (first 3 chars)
2. Query database for count of existing SKUs with same prefix
3. Increment sequence number (count + 1)
4. Format as SKU-{PREFIX}-{SEQUENCE:04d}
5. Fallback to UUID-based SKU if any error occurs

**Integration:**
- Updated create_ingredient() method (line 52-54)
- Auto-generates SKU ONLY if not provided by frontend
- Maintains support for custom SKUs from users
- Logs generation for audit trail

**Benefits:**
 Database-enforced uniqueness per tenant
 Meaningful, sequential SKUs grouped by product type
 Follows established orders service pattern
 Thread-safe with database transaction context
 Graceful fallback to UUID on errors
 Full audit logging

**Technical Details:**
- Uses SQLAlchemy select with func.count for efficient counting
- Filters by tenant_id for tenant isolation
- Uses LIKE operator for prefix matching (SKU-{prefix}-%)
- Executed within get_db_transaction() context for safety

**Testing Suggestions:**
1. Create ingredient without SKU → should auto-generate
2. Create ingredient with custom SKU → should use provided SKU
3. Create multiple ingredients with same name prefix → should increment
4. Verify tenant isolation (different tenants can have same SKU)

NEXT: Consider adding similar generation for:
- Quality template codes (TPL-{TYPE}-{SEQUENCE})
- Production batch numbers (if not already implemented)

This completes the backend implementation for inventory SKU generation,
matching the frontend changes that delegated generation to backend.
2025-11-10 12:17:36 +00:00
2025-11-07 14:53:36 +01:00
2025-11-02 20:24:44 +01:00
2025-10-31 11:54:19 +01:00
2025-07-17 14:34:24 +02:00
2025-10-19 19:22:37 +02:00
2025-09-23 12:49:35 +02:00
2025-09-27 11:18:13 +02:00
2025-11-06 11:04:50 +01:00
2025-11-09 09:22:08 +01:00

🍞 Bakery IA - Multi-Service Architecture

Welcome to Bakery IA, 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%