# 🍞 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:**
   ```bash
   git clone <repository-url>
   cd bakery-ia
   ```

2. **Set up environment variables:**
   ```bash
   cp .env.example .env
   # Edit .env with your specific configuration
   ```

3. **Run with Docker Compose:**
   ```bash
   docker-compose up --build
   ```

4. **Or run with Kubernetes (Docker Desktop):**
   ```bash
   # 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:
   ```bash
   kubectl apply -k infrastructure/environments/prod/k8s-manifests
   ```

## 🤝 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.
