-
Notifications
You must be signed in to change notification settings - Fork 1
/
chargersync.sh
executable file
·102 lines (87 loc) · 3.3 KB
/
chargersync.sh
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/bash
trap cleanup SIGINT
cleanup(){
lsof -ti tcp:3000 | xargs kill -9
docker compose down
exit
}
# Function to check if Docker is installed
check_docker() {
if ! command -v docker &> /dev/null; then
echo "Docker is not installed. Please install Docker to continue."
exit 1
fi
}
# Function to check if Docker Compose is installed
check_docker_compose() {
if ! command -v docker compose &> /dev/null; then
echo "Docker Compose is not installed. Please install Docker Compose to continue."
exit 1
fi
}
# Function to check if npm is installed
check_npm() {
if ! command -v npm &> /dev/null; then
echo "npm is not installed. Please install npm to continue."
exit 1
fi
}
# Function to build Docker Compose services in the backend directory
build_docker_compose_backend() {
echo "Building Docker Compose services in the backend directory..."
cd backend || exit
docker compose up -d --remove-orphans &
cd ..
}
# Function to run npm rundev in the frontend directory
run_npm_rundev_frontend() {
echo "Running npm rundev in the frontend directory..."
cd frontend || exit
npm install
npm run dev &
cd ..
}
# Function to launch the primary browser to localhost:3000
launch_browser() {
echo "Launching browser to localhost:3000..."
sleep 5 # Wait for services to start
# Determine the operating system
case "$(uname -s)" in
Linux*) xdg-open "http://localhost:3000";;
Darwin*) open "http://localhost:3000";;
CYGWIN*) start "" "http://localhost:3000";;
MINGW*) start "" "http://localhost:3000";;
*) echo "Unsupported operating system.";;
esac
}
loadart(){
echo"
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@......@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@..@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@........@@.........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@..@@@@@@@@@........@@@.......@@@.....@@........@@.......@@@.....@@........@@.........@@@..@@@@...@@........@@@......@@
@..@@@@@@@@@..@@@@@..@@@@@@@@..@@..@@@@..@@@@@.@@@.@@@@@..@@..@@@@@........@@.........@@@...@@@..@@@..@@@@..@@..@@@@@@@
@..@@@@@@@@@..@@@@@..@@..@@@@..@@..@@@@@.......@@.........@@..@@@@@@@@@@@@@@@.........@@@@..@@..@@@@..@@@@..@@..@@@@@@@
@@...@@@@.@@..@@@@@..@...@@@...@@..@@@@..@@@@@@@@@..@@@@@@@@..@@@@@...................@@@@@....@@@@@..@@@@..@@...@@@@@@
@@@@@....@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@.......@@@@@...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@...@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.......@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
"
}
# Main function
main() {
check_docker
check_docker_compose
check_npm
lsof -ti tcp:3000 | xargs kill -9
loadart
open -a docker
sleep 15
build_docker_compose_backend &
run_npm_rundev_frontend &
wait
launch_browser
}
# Run the main function
main