OnlineCourseManager uses Slack API and Canvas LMS API to integrate new Slash Commands into a Slack team directory. These Slash Commands are intended to be used with Canvas, a learning management system used by the University of Florida, to query and grab course information to display directly into Slack.
Devpost Page for this project - https://devpost.com/software/hackgsu2016slackbot
Demo - https://youtu.be/aYrF68Zh-Sw
Here Slack Slash Commands you can use with OnlineCourseManager:
####List course names you are registered to. Optionally filter by term (e.g. Spring16)
Format:
/courses [term]
Example:
/courses Spring16
####Search assignments by keyword or by due date.
Format:
/assignments [keyword], /assignment start [day/month/year] end [day/month/year]
Example:
/assignments math worksheet
/assignments start 10/21/2016 end 10/31/2016
/assignments start 10/21/2016
/assignments end 10/31/2016
####Gets all upcoming events - tests, quizzes, and assignments.
/upcomingevents
####Lists all course announcements for the past 7 days.
/announcements
####Gets user's profile information.
/profile
####List calendar events stored in Canvas given a course code (e.g. COP4600).
####Optionally show all calendar events or filter by a start and/or end date.
/calendar coursecode start [d/m/y] OR/AND end [d/m/y] OR allevents
Example:
/calendar COP4600
/calendar COP4600 start 10/21/2016 end 10/31/2016
/calendar COP4600 start 10/21/2016
/calendar COP4600 end 10/31/2016
/calendar COP4600 allevents
####Shows list of commands and their purpose, if the user input is 'help'
/onlinecoursemanager [help]
Example:
/onlinecoursemanager help
This project was created in part of the HackGSU 2016 event from Oct 21 - Oct 23, 2016. We're three students from the University of Florida who dislike navigating our insitution's course manager website, Canvas, to display upcoming assignments and any announcements.
-
Visit https://9df9971b.ngrok.io/ and click 'Add to Slack' to give OnlineCourseManager permission to integrate with your Slack team.
-
Login to your insitutions Canvas (Instructure) account. Go to Account -> Settings and generate 'New Access Token' under approved integration. Make note of the token.
-
Clone the repository. In the root of the repository, create a file named config.js and input this information:
module.exports = {
slackBotToken : 'YOUR-SLACK-BOT-TOKEN',
canvasToken : 'YOUR-CANVAS-TOKEN',
slackClientID : 'YOUR-SLACK-CLIENT-ID',
slackClientSecret : 'YOUR-SLACK-CLIENT-SECRET',
slackOauthState : 'hackGSU',
redirectURI : 'SEE-STEP-5',
};
-
Install npm, ngrok, and node.js. Run
npm install
-
Run
node server.js
and./ngrok http 8000
in separate terminals and note the https URL fto use for redirectURI.
Canvas LMS API - https://canvas.instructure.com/doc/api/
Slack API - https://api.slack.com/
Sebastian Hernandez - https://github.com/prcbass/
Emily Macon - https://github.com/emily-macon
Julian Tolentino - https://github.com/juliantolentino