#!/bin/bash

# Beem Microservices Startup Script

echo "🚀 Starting Beem Microservices..."

# Check if Docker is running
if ! docker info > /dev/null 2>&1; then
    echo "❌ Docker is not running. Please start Docker first."
    exit 1
fi

# Check if docker-compose is available
if ! command -v docker-compose &> /dev/null; then
    echo "❌ docker-compose is not installed. Please install docker-compose first."
    exit 1
fi

echo "📦 Starting infrastructure services..."
docker-compose up -d postgres redis rabbitmq

echo "⏳ Waiting for infrastructure to be ready..."
sleep 10

echo "🔍 Starting discovery service..."
docker-compose up -d eureka

echo "⏳ Waiting for discovery service to be ready..."
sleep 15

echo "⚙️ Starting config service..."
docker-compose up -d config

echo "⏳ Waiting for config service to be ready..."
sleep 10

echo "🌐 Starting API gateway..."
docker-compose up -d gateway

echo "⏳ Waiting for gateway to be ready..."
sleep 10

echo "🔐 Starting auth service..."
docker-compose up -d auth-service

echo "⏳ Waiting for auth service to be ready..."
sleep 10

echo "✅ All services started successfully!"
echo ""
echo "📋 Service URLs:"
echo "• Eureka Dashboard: http://localhost:8761"
echo "• API Gateway: http://localhost:8080"
echo "• Auth Service: http://localhost:8081"
echo "• RabbitMQ Management: http://localhost:15672 (guest/guest)"
echo ""
echo "📊 Check service status:"
echo "docker-compose ps"
echo ""
echo "📝 View logs:"
echo "docker-compose logs -f [service-name]"
echo ""
echo "🛑 Stop all services:"
echo "docker-compose down"
