Skip to content

A website for easily navigating BCIT courses and offerings.

License

Notifications You must be signed in to change notification settings

MikeVarchola/BCIT-Flex

 
 

Repository files navigation

ci

BCIT Flex

www.bcitflex.tech

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.

Installation

pip install bcitflex

Prerequisites

  • A PostgreSQL instance is required for the database.
  • Dependency psycopg2 requires libpq-dev to be installed for Ubuntu/Debian systems.
sudo apt install libpq-dev python3-dev

For more details see the pycopg2 documentation and StackOverflow.

DB Setup

PostgreSQL is used as the DBMS. To create and initialize the database:

  1. Create a database using the cli command. Pass --help for more information.
flask --app bcitflex create-db
  1. Build schema using alembic:
flask --app bcitflex upgrade-db
  1. 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.

Usage

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

Roadmap

  • Filter by prerequisites
  • Individual Course Offerings
  • Rate My Professors
  • Web app
  • GUI
  • Return RMP rating
  • Indication of data freshness
  • Program information
  • User relevant course view
  • User course wishlist
  • User course schedule planner

Contributors

About

A website for easily navigating BCIT courses and offerings.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 92.5%
  • HTML 5.2%
  • CSS 2.0%
  • Mako 0.3%