Inspiration

One of our team members had some prior experience with building a Discord bot and considering that many students use Discord to discuss class-related topics with peers, the challenge seemed like a natural fit for our team.

What it does

Overseer currently allows the user to see any assignment due dates for a particular course.

How we built it

We used repl.it as our IDE to develop the Python code used for the bot. Flask (part of the Google Cloud) was utilized to keep the bot alive in the cloud (up to an hour). However, this would only keep the bot online for an hour before it would go offline. To resolve this issue, we utilized a free service called UptimeRobot to ping the Flask domain every 5 minutes.

Challenges we ran into

Due to our relative inexperience with Python, coding the bot’s functionality was more difficult than expected. For example, we struggled with the different string representations of objects depending on whether we printed them directly or appended them to a string.

Accomplishments that we're proud of

We have provided the bot with the capability to handle assignment due dates with a hard-coded set of assignments (further functionality could be implemented with access to Blackboard’s API).

What we learned

We learned more about the unique challenges presented by Python’s relatively new asynchronous method of writing applications. We also learned that time management is very important in 24 hour hackathons. The mind is like a muscle, it can only be used for so long before it experiences soreness. However, we negligently worked ourselves to a fine powder, which hampered our productivity. On the other hand, we have realized how much of a privilege it is to be able to participate in a hackathon with so many hard-working students.

What's next for Overseer

In the future, Overseer will have full access to Blackboard’s API. This would mean that students could ping Overseer to allow it to have access to their course info through Blackboard. Using direct messaging and an email verification system, this would mean that students could query assignment due dates, course announcements, quiz dates, exam dates, and other important bits and bobs.

Built With

Share this project:

Updates