Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pixelmelt/ai-canvas-reminder

Because I'm so good at procrastinating that I need an AI to yell at me for it.
https://github.com/pixelmelt/ai-canvas-reminder

canvas canvas-api canvas-reminders gpt

Last synced: 14 days ago
JSON representation

Because I'm so good at procrastinating that I need an AI to yell at me for it.

Awesome Lists containing this project

README

        

# AI-Canvas-Reminder
I put off doing homework for this.

### This program retreives upcoming assignments from the Canvas API, turns them into a reminder in natural language with GPT3.5 and sends them to your devices with a push notification.

## Requirements
- NodeJS 16 or higher.
- An openai API key.
- A pushover licence for your device. (or free trial)
- A Canvas instance set up by your school.

## Running
```
git clone https://github.com/PixelMelt/AI-Canvas-Reminder
cd ./AI-Canvas-Reminder
npm i
node index.js
```


### Feel free to open up an issue if you want to see a feature implemented, I really dont mind.

## Configuration
- OPENAI_API_KEY: The authentication key required to access OpenAI's API.
- CANVAS_API_KEY: An authentication key from your Canvas account. (Generated in https://\.instructure.com/profile/settings under "Approved Integrations")

- CANVAS_BASE_URL: The base URL endpoint for your schools Canvas API.

- EXCLUDED_COURSES: A list of course IDs to be excluded from processing by the application.

- PUSHOVER_USER and PUSHOVER_TOKEN: Authentication keys for using the Pushover notification service.

- REAL_NAME: The student's actual name.

- PRIVACY_NAME: A privacy-friendly name to replace the actual name when prompting GPT 3.5.

- GENTLE_REMINDER_PROMPT and NOT_SO_GENTLE_REMINDER_PROMPT: Templates for generating reminder messages using the OpenAI API. These contain placeholders for the student's name and the current date that get inserted when the program is run.