48 lines
725 B
Bash
Executable File
48 lines
725 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
PURPLE='\033[0;35m'
|
|
CYAN='\033[0;36m'
|
|
NC='\033[0m'
|
|
|
|
function prefix_stdout_stderr() {
|
|
exec > >(trap "" INT TERM; sed "s/^/`printf "$1"`/")
|
|
exec 2> >(trap "" INT TERM; sed "s/^/`printf "$1"`/" >&2)
|
|
}
|
|
|
|
function start_frontend() {
|
|
prefix_stdout_stderr "${PURPLE}frontend: ${NC}"
|
|
|
|
cd ./frontend
|
|
|
|
npm run dev
|
|
}
|
|
|
|
function start_backend() {
|
|
prefix_stdout_stderr "${CYAN}backend: ${NC}"
|
|
|
|
cd ./backend
|
|
source venv/bin/activate
|
|
|
|
echo $(which python)
|
|
|
|
python main.py
|
|
}
|
|
|
|
start_frontend &
|
|
pid_frontend=$!
|
|
|
|
start_backend &
|
|
pid_backend=$!
|
|
|
|
trap_ctrlc() {
|
|
echo ""
|
|
kill $pid_frontend
|
|
echo "frontend exit code: $?"
|
|
kill $pid_backend
|
|
echo "backend exit code: $?"
|
|
}
|
|
|
|
trap trap_ctrlc INT
|
|
|
|
wait
|