#!/bin/bash

# Quick Start Guide Script
# Run this to set up the entire project

clear
echo "╔════════════════════════════════════════════════════════════╗"
echo "║  Trust Tax Advisor - Complete Setup                       ║"
echo "║  Production-Ready Tax Management SaaS Platform            ║"
echo "╚════════════════════════════════════════════════════════════╝"
echo ""

# Check Node.js
echo "📋 Checking prerequisites..."
if ! command -v node &> /dev/null; then
    echo "❌ Node.js not installed. Download from https://nodejs.org"
    exit 1
fi

if ! command -v npm &> /dev/null; then
    echo "❌ npm not installed."
    exit 1
fi

if ! command -v mysql &> /dev/null; then
    echo "⚠️  MySQL client not found. Ensure MySQL server is running."
fi

echo "✅ Node.js $(node -v)"
echo "✅ npm $(npm -v)"
echo ""

# Backend Setup
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🔧 Setting up Backend..."
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

cd backend || exit 1

if [ ! -f .env ]; then
    echo "📄 Creating .env from template..."
    cp .env.example .env
    echo "⚠️  Edit .env with your configuration:"
    echo "   - Database credentials"
    echo "   - JWT secret"
    echo "   - SMTP (email) credentials"
    echo "   - Twilio (WhatsApp) credentials"
    echo ""
fi

echo "📦 Installing backend dependencies..."
npm install

echo "✅ Backend setup complete"
echo ""

# Frontend Setup
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🎨 Setting up Frontend..."
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

cd ../frontend || exit 1

if [ ! -f .env.local ]; then
    echo "📄 Creating .env.local from template..."
    cp .env.example .env.local
fi

echo "📦 Installing frontend dependencies..."
npm install

echo "✅ Frontend setup complete"
echo ""

# Database Setup
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🗄️  Database Setup"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

echo ""
echo "To initialize the database, run:"
echo ""
echo "  mysql -u root -p < database/schema.sql"
echo ""
echo "or if MySQL is running locally:"
echo "  mysql -u root trust_tax_advisor < database/schema.sql"
echo ""

# Display Next Steps
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📝 Next Steps"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "1️⃣  Edit backend/.env with your configuration:"
echo "   - Database credentials"
echo "   - JWT secret (generate a random string)"
echo "   - Gmail SMTP credentials"
echo "   - Twilio WhatsApp credentials"
echo ""
echo "2️⃣  Initialize MySQL database:"
echo "   mysql -u root -p trust_tax_advisor < database/schema.sql"
echo ""
echo "3️⃣  Start Backend (Terminal 1):"
echo "   cd backend && npm start"
echo "   Runs on: http://localhost:5000"
echo ""
echo "4️⃣  Start Frontend (Terminal 2):"
echo "   cd frontend && npm run dev"
echo "   Runs on: http://localhost:3000"
echo ""
echo "5️⃣  Login with:"
echo "   Email: admin@trusttaxadvisor.com"
echo "   Mobile: 9999999999"
echo "   Then enter the OTP sent to you"
echo ""
echo "📚 Documentation:"
echo "   - README.md - Project overview"
echo "   - CPANEL_DEPLOYMENT.md - Production deployment"
echo "   - WHATSAPP_SETUP.md - WhatsApp OTP setup"
echo "   - SMTP_SETUP.md - Email configuration"
echo ""
echo "✅ Setup complete! Follow the steps above to run the application."
echo ""
