As students learning remotely and keeping in touch with classmates through Discord, we wanted to be able to keep track of upcoming homework and assignments. We wanted it to be integrated with the platform we were already using in our virtual classes and study groups for convenience.

What is this?

Cirrus is a Discord bot made for students, that helps them keep track of their school assignments and due dates. Users can type commands to add assignment information to its database and view current tasks in a to-do list format.

Currently implemented commands:

!add     Adds an assignment to the database
!clear   Clears ALL assignments from the list
!delete Delete indicated assignment by ID and assignment name
!echo   Repeats your message
!get      Get indicated assignment by ID and assignment name
!help    Shows the help message
!list      List all assignments added
!ping    Responds to ping for testing purposes

Our bot is set apart from other agenda apps by being collaborative; anyone in a discord server can add a new task to the to-do list, making it less likely for something to get missed and taking the weight off of individuals to keep track of everything on their own. Our school program heavily encourages teamwork, and we wanted our app to reflect that.

How we built it

We built the main bot scripts using Python with the API. We used AWS DynamoDB for our backend database that stores the assignment information. We chose Heroku by Salesforce as our cloud platform to host the bot due to its continuous deployment integrations with GitHub and quick setup.

Challenges and accomplishments

This was our first time using, so many of our challenges revolved around learning how to use it. We also encountered issues connecting our bot scripts, database, and hosting platform together. In the end, we made it through with teamwork and a bit of mentor help. We're proud that we were able to get the bot into a working, usable state in less than 24 hours with little prior experience using these technologies.

What's next for Cirrus

Going into the upcoming semester, we hope to be able to actually use Cirrus in our class servers. We'd like to build additional functionality including upcoming due date reminders, more user-friendly command options, and multi-server support. We're excited to be our own user testers!

Share this project: