Berkeley Online Advising
- Install Python 3.11
- Create your virtual environment (venv)
- Install dependencies
pip3 install -r requirements.txt [--upgrade]
nvm use
npm install
createuser boac --no-createdb --no-superuser --no-createrole --pwprompt
createdb boac --owner=boac
createdb boac_test --owner=boac
createdb boac_loch_test --owner=boac
# Load schema
export FLASK_APP=application.py
flask initdb
If you plan to use any resources outside localhost, put your configurations in an encrypted volume:
mkdir /Volumes/XYZ/boac_config
export BOAC_LOCAL_CONFIGS=/Volumes/XYZ/boac_config
We use Tox for continuous integration. Under the hood, you'll find PyTest, Flake8 and ESLint.
# Run tests and linters with Tox's parallel mode:
tox -p
# Pytest
tox -e test
# Run specific test(s)
tox -e test -- tests/test_models/test_authorized_user.py
# Linters, à la carte
tox -e lint-py
tox -e lint-vue
# Auto-fix linting errors in Vue code
tox -e lint-vue-fix
# Lint specific file(s)
tox -e lint-py -- scripts/cohort_fixtures.py