| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- #!/bin/bash
- #
- # MyBeacon - Start Both Backend and Frontend
- #
- set -e
- # Colors
- RED='\033[0;31m'
- GREEN='\033[0;32m'
- YELLOW='\033[1;33m'
- BLUE='\033[0;34m'
- NC='\033[0m' # No Color
- # Get script directory
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
- BACKEND_DIR="$SCRIPT_DIR/backend"
- FRONTEND_DIR="$SCRIPT_DIR/frontend"
- MODE="${1:-dev}"
- echo -e "${BLUE}╔════════════════════════════════════╗${NC}"
- echo -e "${BLUE}║ MyBeacon - Full Stack Startup ║${NC}"
- echo -e "${BLUE}╚════════════════════════════════════╝${NC}"
- echo ""
- # Function to cleanup on exit
- cleanup() {
- echo -e "\n${YELLOW}Stopping all services...${NC}"
- cd "$BACKEND_DIR" && ./start.sh stop 2>/dev/null || true
- cd "$FRONTEND_DIR" && ./start.sh stop 2>/dev/null || true
- exit 0
- }
- trap cleanup SIGINT SIGTERM
- case "$MODE" in
- dev)
- echo -e "${GREEN}Starting in DEVELOPMENT mode...${NC}"
- echo ""
- # Start backend in background
- echo -e "${BLUE}[1/2]${NC} Starting Backend..."
- cd "$BACKEND_DIR"
- ./start.sh background
- echo ""
- sleep 3
- # Start frontend in foreground
- echo -e "${BLUE}[2/2]${NC} Starting Frontend..."
- cd "$FRONTEND_DIR"
- ./start.sh dev
- ;;
- background)
- echo -e "${GREEN}Starting in BACKGROUND mode...${NC}"
- echo ""
- # Start backend
- echo -e "${BLUE}[1/2]${NC} Starting Backend..."
- cd "$BACKEND_DIR"
- ./start.sh background
- echo ""
- sleep 2
- # Start frontend
- echo -e "${BLUE}[2/2]${NC} Starting Frontend..."
- cd "$FRONTEND_DIR"
- ./start.sh background
- echo ""
- echo -e "${GREEN}════════════════════════════════════${NC}"
- echo -e "${GREEN}All services started!${NC}"
- echo ""
- echo -e "Backend: ${YELLOW}http://localhost:8000${NC}"
- echo -e "Frontend: ${YELLOW}http://localhost:5173${NC}"
- echo ""
- echo -e "Backend logs: ${YELLOW}tail -f /tmp/backend_live.log${NC}"
- echo -e "Frontend logs: ${YELLOW}tail -f /tmp/frontend_dev.log${NC}"
- echo ""
- echo -e "Stop all: ${YELLOW}$0 stop${NC}"
- ;;
- stop)
- echo -e "${YELLOW}Stopping all services...${NC}"
- cd "$BACKEND_DIR" && ./start.sh stop
- cd "$FRONTEND_DIR" && ./start.sh stop
- echo -e "${GREEN}All services stopped${NC}"
- ;;
- restart)
- echo -e "${YELLOW}Restarting all services...${NC}"
- "$0" stop
- sleep 2
- exec "$0" background
- ;;
- status)
- echo -e "${BLUE}Backend Status:${NC}"
- cd "$BACKEND_DIR" && ./start.sh status
- echo ""
- echo -e "${BLUE}Frontend Status:${NC}"
- cd "$FRONTEND_DIR" && ./start.sh status
- ;;
- logs)
- echo -e "${GREEN}Showing logs (Ctrl+C to exit)...${NC}"
- echo ""
- # Check which logs exist
- BACKEND_LOG="/tmp/backend_live.log"
- FRONTEND_LOG="/tmp/frontend_dev.log"
- LOGS=""
- [ -f "$BACKEND_LOG" ] && LOGS="$LOGS $BACKEND_LOG"
- [ -f "$FRONTEND_LOG" ] && LOGS="$LOGS $FRONTEND_LOG"
- if [ -z "$LOGS" ]; then
- echo -e "${YELLOW}No logs found. Services not running?${NC}"
- exit 1
- fi
- tail -f $LOGS
- ;;
- *)
- echo "Usage: $0 {dev|background|stop|restart|status|logs}"
- echo ""
- echo "Modes:"
- echo " dev - Development mode (frontend interactive)"
- echo " background - Both services in background"
- echo " stop - Stop all services"
- echo " restart - Restart all services"
- echo " status - Check services status"
- echo " logs - Show logs from all services"
- echo ""
- echo "Examples:"
- echo " $0 dev # Dev mode (recommended)"
- echo " $0 background # Start all in background"
- echo " $0 logs # Watch all logs"
- exit 1
- ;;
- esac
|