-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstart.sh
More file actions
executable file
·81 lines (67 loc) · 2.8 KB
/
start.sh
File metadata and controls
executable file
·81 lines (67 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/bash
# VisuaLex Development Startup Script
# Starts: visualex_api (Python), backend (Node), frontend (Vite)
set -e
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
PROJECT_ROOT="$(cd "$(dirname "$0")" && pwd)"
echo -e "${BLUE}═══════════════════════════════════════════════════════════${NC}"
echo -e "${BLUE} VisuaLex Development Environment${NC}"
echo -e "${BLUE}═══════════════════════════════════════════════════════════${NC}"
# Cleanup on exit
cleanup() {
echo -e "\n${YELLOW}Shutting down services...${NC}"
kill $API_PID $BACKEND_PID $FRONTEND_PID 2>/dev/null || true
echo -e "${GREEN}All services stopped.${NC}"
exit 0
}
trap cleanup SIGINT SIGTERM
# Check port availability
check_port() {
if lsof -Pi :$1 -sTCP:LISTEN -t >/dev/null 2>&1; then
echo -e "${RED}Port $1 in use${NC} - run: ${YELLOW}kill \$(lsof -t -i:$1)${NC}"
return 1
fi
return 0
}
echo -e "\n${YELLOW}Checking ports...${NC}"
check_port 5000 || exit 1
check_port 3001 || exit 1
check_port 5173 || exit 1
echo -e "${GREEN}All ports available${NC}"
# 1. Start VisuaLex API (Python/Quart - port 5000)
echo -e "\n${YELLOW}[1/3] Starting VisuaLex API (port 5000)...${NC}"
cd "$PROJECT_ROOT"
if [ -d ".venv" ]; then
source .venv/bin/activate
fi
python app.py &
API_PID=$!
echo -e "${GREEN}VisuaLex API started (PID: $API_PID)${NC}"
# 2. Start Platform Backend (Node - port 3001)
echo -e "\n${YELLOW}[2/3] Starting Platform Backend (port 3001)...${NC}"
cd "$PROJECT_ROOT/backend"
npm run dev &
BACKEND_PID=$!
echo -e "${GREEN}Platform Backend started (PID: $BACKEND_PID)${NC}"
# 3. Start Frontend (Vite - port 5173)
echo -e "\n${YELLOW}[3/3] Starting Frontend (port 5173)...${NC}"
cd "$PROJECT_ROOT/frontend"
npm run dev &
FRONTEND_PID=$!
echo -e "${GREEN}Frontend started (PID: $FRONTEND_PID)${NC}"
# Wait for services
sleep 3
# Display info
echo -e "\n${BLUE}═══════════════════════════════════════════════════════════${NC}"
echo -e "${GREEN}Services running:${NC}"
echo -e " VisuaLex API: ${BLUE}http://localhost:5000${NC}"
echo -e " Platform Backend: ${BLUE}http://localhost:3001${NC}"
echo -e " Frontend: ${BLUE}http://localhost:5173${NC}"
echo -e "${BLUE}═══════════════════════════════════════════════════════════${NC}"
echo -e "${YELLOW}Press Ctrl+C to stop all services${NC}\n"
wait