parent
d12bd73eb2
commit
4e8efcf56f
@ -0,0 +1,23 @@ |
||||
## Architecture |
||||
|
||||
 |
||||
|
||||
## Dependencies |
||||
|
||||
1. Node.js |
||||
1. npm |
||||
1. Python 3.6+ |
||||
|
||||
## Setup |
||||
|
||||
For setting up the frontend, `setup.sh` will run `npm install` in the `frontend` folder. |
||||
|
||||
For setting up the backend, `setup.sh` will initialize a new virtual environment and setup a dummy sqlite file for testing purposes. |
||||
|
||||
## Dev |
||||
|
||||
Run `setup.sh` and then run `dev.sh` |
||||
|
||||
## Production |
||||
|
||||
TODO |
@ -0,0 +1 @@ |
||||
<mxfile host="www.draw.io" modified="2021-03-15T04:26:06.589Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Safari/537.36" etag="t9BACponPf5-u58TPj24" version="14.4.8" type="device"><diagram id="nWxgDZutG5X04Ajf33Mw" name="Page-1">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</diagram></mxfile> |
After Width: | Height: | Size: 26 KiB |
@ -0,0 +1,30 @@ |
||||
#!/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 run_frontend_backend() { |
||||
$1 & |
||||
pid_frontend=$! |
||||
|
||||
$2 & |
||||
pid_backend=$! |
||||
|
||||
trap_ctrlc() { |
||||
echo "" |
||||
kill $pid_frontend |
||||
echo "frontend exit code: $?" |
||||
kill $pid_backend |
||||
echo "backend exit code: $?" |
||||
} |
||||
|
||||
trap trap_ctrlc INT |
||||
|
||||
wait |
||||
} |
@ -0,0 +1,42 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
set -e |
||||
|
||||
source ./common.sh |
||||
|
||||
function setup_frontend() { |
||||
prefix_stdout_stderr "${PURPLE}frontend: ${NC}" |
||||
|
||||
cd ./frontend |
||||
|
||||
echo "Installing dependencies..." |
||||
npm i |
||||
|
||||
echo "Done!" |
||||
} |
||||
|
||||
function setup_backend() { |
||||
prefix_stdout_stderr "${CYAN}backend: ${NC}" |
||||
|
||||
cd ./backend |
||||
|
||||
echo "Deleting old virtual environment..." |
||||
rm -rf ./venv |
||||
|
||||
echo "Deleting sqlite database..." |
||||
rm ./links.db |
||||
|
||||
echo "Creating new virtual environment..." |
||||
python3 -m venv venv |
||||
source venv/bin/activate |
||||
|
||||
echo "Installing dependencies..." |
||||
pip install -r requirements.txt |
||||
|
||||
echo "Creating a dummy sqlite database at 'backend/links.db'..." |
||||
python setup_db.py |
||||
|
||||
echo "Done!" |
||||
} |
||||
|
||||
run_frontend_backend "setup_frontend" "setup_backend" |
Loading…
Reference in new issue