start-all.sh 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #!/bin/bash
  2. #
  3. # MyBeacon - Start Both Backend and Frontend
  4. #
  5. set -e
  6. # Colors
  7. RED='\033[0;31m'
  8. GREEN='\033[0;32m'
  9. YELLOW='\033[1;33m'
  10. BLUE='\033[0;34m'
  11. NC='\033[0m' # No Color
  12. # Get script directory
  13. SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
  14. BACKEND_DIR="$SCRIPT_DIR/backend"
  15. FRONTEND_DIR="$SCRIPT_DIR/frontend"
  16. MODE="${1:-dev}"
  17. echo -e "${BLUE}╔════════════════════════════════════╗${NC}"
  18. echo -e "${BLUE}║ MyBeacon - Full Stack Startup ║${NC}"
  19. echo -e "${BLUE}╚════════════════════════════════════╝${NC}"
  20. echo ""
  21. # Function to cleanup on exit
  22. cleanup() {
  23. echo -e "\n${YELLOW}Stopping all services...${NC}"
  24. cd "$BACKEND_DIR" && ./start.sh stop 2>/dev/null || true
  25. cd "$FRONTEND_DIR" && ./start.sh stop 2>/dev/null || true
  26. exit 0
  27. }
  28. trap cleanup SIGINT SIGTERM
  29. case "$MODE" in
  30. dev)
  31. echo -e "${GREEN}Starting in DEVELOPMENT mode...${NC}"
  32. echo ""
  33. # Start backend in background
  34. echo -e "${BLUE}[1/2]${NC} Starting Backend..."
  35. cd "$BACKEND_DIR"
  36. ./start.sh background
  37. echo ""
  38. sleep 3
  39. # Start frontend in foreground
  40. echo -e "${BLUE}[2/2]${NC} Starting Frontend..."
  41. cd "$FRONTEND_DIR"
  42. ./start.sh dev
  43. ;;
  44. background)
  45. echo -e "${GREEN}Starting in BACKGROUND mode...${NC}"
  46. echo ""
  47. # Start backend
  48. echo -e "${BLUE}[1/2]${NC} Starting Backend..."
  49. cd "$BACKEND_DIR"
  50. ./start.sh background
  51. echo ""
  52. sleep 2
  53. # Start frontend
  54. echo -e "${BLUE}[2/2]${NC} Starting Frontend..."
  55. cd "$FRONTEND_DIR"
  56. ./start.sh background
  57. echo ""
  58. echo -e "${GREEN}════════════════════════════════════${NC}"
  59. echo -e "${GREEN}All services started!${NC}"
  60. echo ""
  61. echo -e "Backend: ${YELLOW}http://localhost:8000${NC}"
  62. echo -e "Frontend: ${YELLOW}http://localhost:5173${NC}"
  63. echo ""
  64. echo -e "Backend logs: ${YELLOW}tail -f /tmp/backend_live.log${NC}"
  65. echo -e "Frontend logs: ${YELLOW}tail -f /tmp/frontend_dev.log${NC}"
  66. echo ""
  67. echo -e "Stop all: ${YELLOW}$0 stop${NC}"
  68. ;;
  69. stop)
  70. echo -e "${YELLOW}Stopping all services...${NC}"
  71. cd "$BACKEND_DIR" && ./start.sh stop
  72. cd "$FRONTEND_DIR" && ./start.sh stop
  73. echo -e "${GREEN}All services stopped${NC}"
  74. ;;
  75. restart)
  76. echo -e "${YELLOW}Restarting all services...${NC}"
  77. "$0" stop
  78. sleep 2
  79. exec "$0" background
  80. ;;
  81. status)
  82. echo -e "${BLUE}Backend Status:${NC}"
  83. cd "$BACKEND_DIR" && ./start.sh status
  84. echo ""
  85. echo -e "${BLUE}Frontend Status:${NC}"
  86. cd "$FRONTEND_DIR" && ./start.sh status
  87. ;;
  88. logs)
  89. echo -e "${GREEN}Showing logs (Ctrl+C to exit)...${NC}"
  90. echo ""
  91. # Check which logs exist
  92. BACKEND_LOG="/tmp/backend_live.log"
  93. FRONTEND_LOG="/tmp/frontend_dev.log"
  94. LOGS=""
  95. [ -f "$BACKEND_LOG" ] && LOGS="$LOGS $BACKEND_LOG"
  96. [ -f "$FRONTEND_LOG" ] && LOGS="$LOGS $FRONTEND_LOG"
  97. if [ -z "$LOGS" ]; then
  98. echo -e "${YELLOW}No logs found. Services not running?${NC}"
  99. exit 1
  100. fi
  101. tail -f $LOGS
  102. ;;
  103. *)
  104. echo "Usage: $0 {dev|background|stop|restart|status|logs}"
  105. echo ""
  106. echo "Modes:"
  107. echo " dev - Development mode (frontend interactive)"
  108. echo " background - Both services in background"
  109. echo " stop - Stop all services"
  110. echo " restart - Restart all services"
  111. echo " status - Check services status"
  112. echo " logs - Show logs from all services"
  113. echo ""
  114. echo "Examples:"
  115. echo " $0 dev # Dev mode (recommended)"
  116. echo " $0 background # Start all in background"
  117. echo " $0 logs # Watch all logs"
  118. exit 1
  119. ;;
  120. esac