A website for easily viewing BCIT course offerings. Features a course filter to aid in course selection.
Please feel free to report any issues, bugs or suggestions. Pull requests are welcome.
pip install bcitflex
- A PostgreSQL instance is required for the database.
- Dependency
psycopg2
requireslibpq-dev
to be installed for Ubuntu/Debian systems.
sudo apt install libpq-dev python3-dev
For more details see the pycopg2 documentation and StackOverflow.
PostgreSQL is used as the DBMS. To create and initialize the database:
- Create a database using the cli command. Pass
--help
for more information.
flask --app bcitflex create-db
- Build schema using alembic:
flask --app bcitflex upgrade-db
- Populate the subject table with the list of subjects to scrape courses for:
flask --app bcitflex load-subjects
By default, subjects COMP, MATH, COMM AND BLAW are loaded. To load all subjects pass the --all-subjects
flag.
To run the webscraper and populate the database with the latest course offerings:
flask --app bcitflex load-db
To run the dev webserver:
flask --app bcitflex run
- Filter by prerequisites
Individual Course OfferingsRate My ProfessorsWeb appGUI- Return RMP rating
- Indication of data freshness
- Program information
- User relevant course view
- User course wishlist
- User course schedule planner
- Sam - 0x53616D75656C
- Jonathan - jonbiemond