Skip to content

ets-berkeley-edu/boac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BOA

Berkeley Online Advising

Picture of an airplane flying above the clouds

Installation

  • Install Python 3.11
  • Create your virtual environment (venv)
  • Install dependencies
pip3 install -r requirements.txt [--upgrade]

Front-end dependencies

nvm use
npm install

Create Postgres user and databases

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

Create local configurations

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

Run tests, lint the code

We use Tox for continuous integration. Under the hood, you'll find PyTest, Ruff 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

Lastly, we are experimenting with Oxlint, using the custom configs in .oxlintrc.json. Fix issues (eg, violations of the 'sort-imports' rule) at your leisure.

# Run Oxlint
tox -e oxlint

# Lint specific file(s)
tox -e oxlint -- src/components/cohort/FilterRow.vue

About

Berkeley Online Advising (BOA) ✈️

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 13