Browse BCIT Flex course offerings.
Project description
BCIT Flex
Webscrape BCIT available courses, quickly view course offerings and write the information to a text file
Please feel free to report any issues, bugs or suggestions. Pull requests are welcome.
The information is
- Code
- Name
- Prerequisites
- Credits
- URL
- Offerings
- Instructor
- Price
- Duration
- Meeting Times
- Status
- Rate My Professor URLs
Installation
pip install bcitflex
Prerequisites
- 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.
DB Setup
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.
Usage
To run the webscraper and populate the database with the latest course offerings:
poetry run flask --app bcitflex load-db
To run the dev webserver:
poetry run flask --app bcitflex run
Supports
- Displaying all course offerings for specific course
- Saving all courses to a text file for a specific subject
TODO
- Filter by prerequisites
Individual Course OfferingsRate My ProfessorsWeb appGUI- Return RMP rating
Contributors
- Sam - 0x53616D75656C
- Jonathan - jonbiemond
Project details
Release history Release notifications | RSS feed
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.2.0.tar.gz
(25.3 kB
view hashes)
Built Distribution
bcitflex-3.2.0-py3-none-any.whl
(38.0 kB
view hashes)