63 lines
1.4 KiB
Bash
Executable File
63 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Grateful Journal - Start All Services
|
|
# Runs MongoDB, FastAPI backend, and Vite frontend in one command
|
|
|
|
set -e
|
|
|
|
# Cleanup on Ctrl+C or exit
|
|
cleanup() {
|
|
echo ""
|
|
echo "Stopping all services..."
|
|
kill $BACKEND_PID $FRONTEND_PID 2>/dev/null || true
|
|
wait $BACKEND_PID $FRONTEND_PID 2>/dev/null || true
|
|
echo "All services stopped."
|
|
exit 0
|
|
}
|
|
trap cleanup INT TERM
|
|
|
|
echo "Starting Grateful Journal..."
|
|
echo ""
|
|
|
|
# Check if MongoDB is running
|
|
echo "Checking MongoDB..."
|
|
if lsof -Pi :27017 -sTCP:LISTEN -t >/dev/null 2>&1 ; then
|
|
echo "MongoDB already running on port 27017"
|
|
else
|
|
echo "Starting MongoDB..."
|
|
brew services start mongodb-community
|
|
sleep 2
|
|
echo "MongoDB started on port 27017"
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# Start Backend (FastAPI with conda environment)
|
|
echo "Starting FastAPI backend..."
|
|
conda run -n yoyo python backend/main.py &
|
|
BACKEND_PID=$!
|
|
echo "Backend running on http://localhost:8001 (PID: $BACKEND_PID)"
|
|
|
|
sleep 2
|
|
|
|
echo ""
|
|
|
|
# Start Frontend (Vite)
|
|
echo "Starting Vite frontend..."
|
|
npm run dev -- --port 8000 &
|
|
FRONTEND_PID=$!
|
|
echo "Frontend running on http://localhost:8000 (PID: $FRONTEND_PID)"
|
|
|
|
echo ""
|
|
echo "All services started!"
|
|
echo ""
|
|
echo "Frontend: http://localhost:8000"
|
|
echo "Backend: http://localhost:8001"
|
|
echo "API Docs: http://localhost:8001/docs"
|
|
echo ""
|
|
echo "Press Ctrl+C to stop all services"
|
|
echo ""
|
|
|
|
# Wait for both processes
|
|
wait $BACKEND_PID $FRONTEND_PID
|