Final phase of settings redesign completing all cards and adding search/filter functionality. ## NotificationSettingsCard Redesign - ✅ Replaced checkboxes with toggle switches for all notifications - ✅ WhatsApp enabled toggle with progressive disclosure for credentials - ✅ Email enabled toggle with progressive disclosure for sender config - ✅ PO, Inventory, Production, and Forecast toggles with channel selection - ✅ Dark mode support for all info boxes - ✅ Used Select component for API version and language dropdowns - ✅ Added helpful descriptions and tooltips throughout - ✅ Better visual hierarchy with icons - ✅ Progressive disclosure reduces visual clutter significantly **Before**: 377 lines with nested checkboxes **After**: 399 lines but much better organized with toggles and sections ## New Search Functionality ### SettingsSearch Component - Real-time search with debouncing (300ms) - Clear button to reset search - Shows current search query in a tooltip - Responsive design with proper touch targets - Integrates seamlessly with existing UI ### Integration - Added to **BakerySettingsPage** above tabs navigation - Added to **NewProfileSettingsPage** above tabs navigation - Consistent positioning and styling across both pages - Ready for future filtering logic enhancement ## Complete Settings Redesign Summary All 9 settings cards now redesigned: 1. ✅ BakerySettingsPage - Main settings with SettingSection 2. ✅ NewProfileSettingsPage - User profile with unified design 3. ✅ InventorySettingsCard - Temperature toggle + progressive disclosure 4. ✅ ProcurementSettingsCard - Auto-approval + smart procurement toggles 5. ✅ ProductionSettingsCard - Quality checks + schedule optimization 6. ✅ POSSettingsCard - Auto-sync toggles for products & transactions 7. ✅ SupplierSettingsCard - Enhanced layout with SettingSection 8. ✅ OrderSettingsCard - Discount, pricing, & delivery toggles 9. ✅ NotificationSettingsCard - WhatsApp, Email, & alert preferences ## Key Achievements - **20+ toggle switches** replacing checkboxes across all settings - **8 progressive disclosure sections** hiding complexity until needed - **Unified SettingSection/SettingRow** design system - **Search functionality** for quick setting discovery - **Dark mode support** throughout all cards - **Help text & tooltips** on critical settings - **Mobile-optimized** touch-friendly controls - **Responsive layouts** for all screen sizes ## Technical Details - Maintained backward compatibility with existing settings API - All cards follow consistent patterns for maintainability - Progressive disclosure improves UX without losing functionality - Search component uses React hooks for efficient re-renders - Proper TypeScript types for all new components This completes the comprehensive UX redesign of the settings experience following Jobs To Be Done methodology.
🍞 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
🔧 Troubleshooting
macOS "too many open files" error
If you encounter the "too many open files" error when running the application on macOS:
failed to create fsnotify watcher: too many open files
This is related to system limits on file system watchers. The kind configuration has been updated to handle this, but if you still encounter issues:
-
Restart your Kind cluster with the updated configuration:
kind delete cluster --name bakery-ia-local kind create cluster --config kind-config.yaml --name bakery-ia-local -
If needed, you can also increase the macOS system limits (though this shouldn't be necessary with the updated kind configuration):
# Check current limits sysctl kern.maxfiles kern.maxfilesperproc # These are usually set high enough by default, but if needed: # sudo sysctl -w kern.maxfiles=65536 # sudo sysctl -w kern.maxfilesperproc=65536
📄 License
This project is licensed under the MIT License.