big-proppa / scripts /start.sh
AIBRUH's picture
Deploy: week 4 β€” evening slate, passcode security, live ticker, ESPN photos (part 3)
22ab885 verified
Raw History Blame Contribute Delete
1.6 kB
#!/usr/bin/env bash
# BIG PROPPA launcher β€” always claims ports 8085 (frontend) and 8086 (backend).
# Reserved range: 8085–9005 for Big Proppa services.
#
# Usage:
# ./scripts/start.sh # start both
# ./scripts/start.sh front # frontend only
# ./scripts/start.sh back # backend only
# ./scripts/start.sh stop # kill both
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
FRONT_PORT=8085
BACK_PORT=8086
kill_port() {
local port="$1"
local pid
pid=$(lsof -ti tcp:"$port" 2>/dev/null || true)
if [[ -n "$pid" ]]; then
echo " Clearing port $port (pid $pid)..."
kill -9 "$pid" 2>/dev/null || true
fi
}
start_back() {
echo "🏈 Starting Big Proppa BACKEND on :$BACK_PORT"
kill_port "$BACK_PORT"
cd "$ROOT/backend"
if [[ -f ".venv/bin/uvicorn" ]]; then
.venv/bin/uvicorn main:app --reload --port "$BACK_PORT" &
else
uvicorn main:app --reload --port "$BACK_PORT" &
fi
echo " Backend PID: $!"
}
start_front() {
echo "🏈 Starting Big Proppa FRONTEND on :$FRONT_PORT"
kill_port "$FRONT_PORT"
cd "$ROOT/frontend"
npm run dev &
echo " Frontend PID: $!"
}
case "${1:-both}" in
back) start_back ;;
front) start_front ;;
stop)
echo "Stopping Big Proppa..."
kill_port "$FRONT_PORT"
kill_port "$BACK_PORT"
echo " Done."
;;
*)
start_back
sleep 2
start_front
echo ""
echo "βœ… BIG PROPPA IS LIVE"
echo " Frontend β†’ http://localhost:$FRONT_PORT"
echo " Backend β†’ http://localhost:$BACK_PORT"
echo " Reserved range: 8085–9005"
;;
esac