Skip to content

ets-berkeley-edu/boac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9,877 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

 
 
 

Contributors