71 lines
1.5 KiB
Bash
Executable File
71 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
echo "🐢 Turtle Control Center - Setup & Start"
|
||
echo "========================================"
|
||
echo ""
|
||
|
||
# Check if Node.js is installed
|
||
if ! command -v node &> /dev/null; then
|
||
echo "❌ Node.js is not installed. Please install Node.js 18+ first."
|
||
echo " Visit: https://nodejs.org/"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✅ Node.js version: $(node --version)"
|
||
echo ""
|
||
|
||
# Install server dependencies
|
||
echo "📦 Installing server dependencies..."
|
||
cd server
|
||
if [ ! -d "node_modules" ]; then
|
||
npm install
|
||
if [ $? -ne 0 ]; then
|
||
echo "❌ Failed to install server dependencies"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo " ℹ️ Dependencies already installed (skipping)"
|
||
fi
|
||
cd ..
|
||
|
||
# Install client dependencies
|
||
echo "📦 Installing client dependencies..."
|
||
cd client
|
||
if [ ! -d "node_modules" ]; then
|
||
npm install
|
||
if [ $? -ne 0 ]; then
|
||
echo "❌ Failed to install client dependencies"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo " ℹ️ Dependencies already installed (skipping)"
|
||
fi
|
||
cd ..
|
||
|
||
echo ""
|
||
echo "✨ Setup complete!"
|
||
echo ""
|
||
echo "🚀 Starting servers..."
|
||
echo ""
|
||
echo "Server will be available at:"
|
||
echo " 🌐 Web Interface: http://localhost:3000"
|
||
echo " 📡 API Server: http://localhost:3001"
|
||
echo " 🔌 WebSocket: ws://localhost:3002"
|
||
echo ""
|
||
echo "Press Ctrl+C to stop all servers"
|
||
echo ""
|
||
|
||
# Start both server and client
|
||
trap 'kill 0' SIGINT
|
||
|
||
cd server
|
||
npm start &
|
||
SERVER_PID=$!
|
||
|
||
cd ../client
|
||
npm run dev &
|
||
CLIENT_PID=$!
|
||
|
||
# Wait for both processes
|
||
wait $SERVER_PID $CLIENT_PID
|