f07e527502d958c3228c3e1c85d21996cfd1bded
CRITICAL BUG FIX: The auto-generation useEffect hooks were watching the name/input fields in their dependency arrays, causing them to fire on EVERY KEYSTROKE. This created state updates while users were typing, causing inputs to lose focus and become unresponsive. ROOT CAUSE: - InventoryWizard: useEffect([inventoryData.name, inventoryData.sku]) - QualityTemplateWizard: useEffect([templateData.name, templateData.templateCode]) - CustomerOrderWizard: useEffect([orderData.orderNumber]) Every keystroke in the name field triggered the useEffect, which called both setLocalState() and onDataChange(), causing double re-renders that interfered with typing. SOLUTION: 1. Added useRef to track if we've already generated the code/SKU/number 2. Changed dependency arrays to ONLY watch the generated field, not the input field 3. Only generate once when name has 3+ characters and generated field is empty 4. Allow regeneration if user manually clears the generated field IMPACT: - Users can now type continuously without interruption - Auto-generation still works after 3 characters are typed - Manual editing of generated fields is preserved - No more UI freezing or losing focus while typing FILES CHANGED: - InventoryWizard.tsx: Fixed SKU auto-generation - QualityTemplateWizard.tsx: Fixed template code auto-generation - CustomerOrderWizard.tsx: Fixed order number auto-generation
🍞 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
-
Clone the repository:
git clone <repository-url> cd bakery-ia -
Set up environment variables:
cp .env.example .env # Edit .env with your specific configuration -
Run with Docker Compose:
docker-compose up --build -
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:
- Set up your clouding.io Kubernetes cluster
- Update image references to your container registry
- Configure production-specific values
- Deploy using the production kustomization:
kubectl apply -k infrastructure/kubernetes/environments/production/
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
📄 License
This project is licensed under the MIT License.
Description
Languages
Python
56.3%
TypeScript
39.6%
Shell
2.9%
CSS
0.4%
Starlark
0.3%
Other
0.3%