#!/bin/bash # Smart Parking Finder - Global Access Script echo "🌍 Starting Smart Parking Finder for GLOBAL ACCESS..." # Function to check if a command exists command_exists() { command -v "$1" >/dev/null 2>&1 } # Check if ngrok is installed if ! command_exists ngrok; then echo "❌ ngrok is not installed. Installing..." brew install ngrok/ngrok/ngrok fi # Get local IP for reference LOCAL_IP=$(ifconfig | grep -E "inet.*broadcast" | head -1 | awk '{print $2}') echo "===============================================" echo "🌍 GLOBAL ACCESS DEPLOYMENT" echo "===============================================" echo "📱 Local Access: http://localhost:3000" echo "🏠 Network Access: http://$LOCAL_IP:3000" echo "🌐 Global Access: Will be shown after ngrok starts" echo "===============================================" echo "" echo "🚀 Starting development server..." echo "" # Navigate to frontend directory cd frontend # Start Next.js in background with network access echo "📦 Starting Next.js server..." npm run dev & NEXTJS_PID=$! # Wait for Next.js to start echo "⏳ Waiting for Next.js to start..." sleep 5 # Start ngrok tunnel echo "🌐 Starting ngrok tunnel..." echo "" echo "===============================================" echo "🔗 GLOBAL ACCESS URLS:" echo "===============================================" # Start ngrok and capture the URL ngrok http 3000 --log=stdout & NGROK_PID=$! # Function to cleanup on exit cleanup() { echo "" echo "🛑 Stopping services..." kill $NEXTJS_PID 2>/dev/null kill $NGROK_PID 2>/dev/null exit } # Trap Ctrl+C trap cleanup INT # Keep script running echo "" echo "🎯 Your app is now accessible globally!" echo "📋 Share the ngrok URL with anyone in the world" echo "⚠️ Note: Free ngrok has session limits" echo "" echo "Press Ctrl+C to stop all services" echo "" # Wait for processes wait