An assignment tracker that compiles due dates into an interactive, minimalist calendar. Because some online homework platforms such as Gradescope don't have an API for students, web scraping is required to retrieve information about assignments. HTTP requests are used alongside Beautiful Soup to perform this web scraping, which is automatically executed multiple times a day using GitHub Actions.
-
Log into GitHub or create a new GitHub account if you don't have one.
-
Click at the top of this page, which should open the following prompt. Make sure "Include all branches" is checked:
-
Enter a name for the new repository. Keep in mind that this name will be used in the URL for your personal Planit webpage, so it's best to keep it short and memorable, like "planit". Then, click .
-
Visit your new repository's secrets at the following link:
https://github.com/YOUR_USERNAME/REPOSITORY_NAME/settings/secrets/actions
- For each homework platform you use, create two new GitHub secrets: one for your username and one for your password. A new secret can be created by clicking . For each secret's "Name" field, you must only use the values listed below. In the "Secret" field, enter either your username or password depending on the value you chose for the "Name" field.
Username | Password |
---|---|
GRADESCOPE_USER | GRADESCOPE_PASSWORD |
- Now, go to the following link:
https://github.com/YOUR_USERNAME/REPOSITORY_NAME/settings/actions
- Under "Workflow Permissions", make sure that "Read and write permissions" is enabled:
- Next, go to the following link:
https://github.com/YOUR_USERNAME/REPOSITORY_NAME/settings/pages
- Lastly, using the file navigation in your repository's home page, go to
data/assignments.js
, delete the file, and click .
That's it! Planit will start retrieving assignment information roughly once every hour and update your personal planner at the link below, which you can visit (and bookmark!) on any of your devices.
https://YOUR_USERNAME.github.io/REPOSITORY_NAME