Skip to main content

Browse BCIT Flex course offerings.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bcitflex-3.11.0.tar.gz (54.0 kB view hashes)

Uploaded Source

Built Distribution

bcitflex-3.11.0-py3-none-any.whl (77.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page