{"id":20767862,"url":"https://github.com/jordanhillis/canvastodo","last_synced_at":"2025-04-30T11:22:43.689Z","repository":{"id":206577704,"uuid":"108424829","full_name":"jordanhillis/canvastodo","owner":"jordanhillis","description":"This program automates a login into your Canvas Learning Management System account and grabs your current TODO list and notifies you via push notification of the tasks you need to complete.","archived":false,"fork":false,"pushed_at":"2017-12-15T01:23:26.000Z","size":12,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T15:46:55.735Z","etag":null,"topics":["canvas","canvas-lms","canvas-todo","champlain","notifications","pushover","school"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jordanhillis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-26T14:46:54.000Z","updated_at":"2023-01-13T04:20:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"a75d0e1c-45bd-4f54-9d9f-7bd43cec489a","html_url":"https://github.com/jordanhillis/canvastodo","commit_stats":null,"previous_names":["jordanhillis/canvastodo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhillis%2Fcanvastodo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhillis%2Fcanvastodo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhillis%2Fcanvastodo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhillis%2Fcanvastodo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jordanhillis","download_url":"https://codeload.github.com/jordanhillis/canvastodo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251689011,"owners_count":21627817,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canvas","canvas-lms","canvas-todo","champlain","notifications","pushover","school"],"created_at":"2024-11-17T11:33:41.353Z","updated_at":"2025-04-30T11:22:43.679Z","avatar_url":"https://github.com/jordanhillis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![LAU Logo](https://jordanhillis.com/images/github/ctn/logo.png)\n\nThis program automates a login into your Canvas Learning Management System account and grabs your current TODO list and notifies you via push notification of the tasks you need to complete.\n\n### Why was this created?\n\nI am currently a Cyber Security student Champlain College and utilize the Canvas Learning Management System daily for my online classes. I wanted a way to be notified each morning when I wake up with the tasks that still need to be completed for my classes. Canvas did not have such feature, so instead I turned to creating my own program to do this task and made it automated to run each morning before I wake up.\n\n## Features\n\n* Logs in to Canvas LMS\n* Grabs current TODO list\n* Notifies via push notification (using Pushover)\n\n## Example TODO Notification\n\n![Home screen of Phone](https://jordanhillis.com/images/github/ctn/home.jpg)\n![Pushover notification example](https://jordanhillis.com/images/github/ctn/notify.jpg)\n\n## Latest Version\n\n* v1.0\n\n## Prerequisites\n\nThis program has been made for Linux users in mind. This will run on Windows, but you will have to change quite a few things for it to run properly.\n\n* Firefox will need to be installed along with the geckodriver [(geckodriver download)](https://github.com/mozilla/geckodriver/releases)\n* You will need to have a Pushover account (this is how it will send you push notifications to your device) https://pushover.net/\n* Additionally you will need to have Python 3 installed on your system as well as the following python modules installed:\n* * python-pushover\n* * pyvirtualdisplay\n* * selenium\n\nThe easiest way to install the required modules is to use PIP\n\n##### PIP Install Command:\n\n```\npip3 install python-pushover pyvirtualdisplay selenium\n```\n\n## Installing\n\nTo install Canvas TODO Notifier please enter the following command:\n\n```\ngit clone https://github.com/jordanhillis/canvastodo.git\ncd canvastodo\n```\n\n## Usage\n\nOpen the canvastodo folder and edit the 'canvastodo.py' file. Change the settings for your username, password, and school on canvas. Your Pushover user key and api key will also need to match your account information from Pushover.\n\nExample:\n```\n'''\n*********************\n***** SETTINGS ******\n*********************\n'''\nusername = \"john.smith\"                               # Username for Canvas\npassword = \"password123\"                              # Password for Canvas\nschool = \"champlain\"                                  # School for Canvas\npushover_user_key = \"u2dfavf788ab4qteakhivx3993hg14\"  # Pushover user key\npushover_api_key = \"a5gaqf9dvoiiq6ey5t8at6w99ocv5x\"   # Pushover app api key\n```\nSave the file.\n\nTo run please enter the following command in the canvastodo folder:\n```\npython3 canvastodo.py\n```\n\n## Automating Canvas TODO Notifier\n\nTo automate this task and notify you each morning I recommend installing cron or a similiar service on your computer or server.\n\nUsing cron enter the following command:\n```\ncrontab -e\n```\nOnce your cron file is open enter the following and change the hour and path:\n```\n0 [HOUR] * * * python3 [PATH/TO/FOLDER]/canvastodo.py #Get canvas todo list\n```\nYou will need to change [HOUR] to the hour in which you want to be notified, (ex: 6) and change the [PATH/TO/FOLDER] with the path to where you have installed this program (ex: /home/jordan/canvastodo)\n\nSave the file and you are now ready to receive automatic notifications with your current Canvas TODO list.\n\n## Developers\n\n* **[Jordan Hillis](https://jordanhillis.com)** - *Lead Developer*\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Acknowledgments\n\n* This program is not an official program by Canvas LMS or any affiliated school.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjordanhillis%2Fcanvastodo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjordanhillis%2Fcanvastodo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjordanhillis%2Fcanvastodo/lists"}