This app is a tool for student to automatically track assignments from various Learning Management Systems (LMSs) The script collects links to each LMS, and every night:
- Checks the LMS for changed/new assignments
- Adds them to a CSV
- Outputs to user’s desired organizational software (Notion, Todoist)
For more details, view the full project proposal here.
- Pranav Chandra: Managing CSVs and Prairielearn WebScraping
- Aniket Gargya: Worked on Notion API implementation and LMS Class Template Importation
- Liza George: Worked on Todoist implementation and manging CSVs
- Aydan Pirani: Worked on Cron Jobs and Prairielearn Webscraping
Navigate to your source directory, and run the following command.
python3 -m venv ./venv
Before running any code, run the following:
venv/Scripts/activate/
To enable package updates, run the following command ONCE:
pip install pipreqs
To update packages, run the following from the home directory:
pipreqs . --force
To install packages, run the following:
pip install -r requirements.txt
- To configure Notion for later reading:
python src/ics.py configure notion <database_id> <api_key>
Note, you must create:
- an integration. Use its "Internal Integration Token" as the
api_key
. - a new database page, and clear all rows & columns (except the name column). Use this page's id as the
database_id
.
Detailed instructions on obtaining these parameters can be found here: https://developers.notion.com/docs/getting-started.
- To add links for LMS:
python src/ics.py add <link> <lms>
- To read and get your data:
python src/ics.py read [notion | todoist]
- To access your assignments into Todoist, follow the instructions here to import the "new_data.csv" file to a Project. You can repeatedly import this file as it updates and Todoist will automatically merge them for you.