CourseConnect

Inspiration

Being in many group chats myself throughout this year, I have found that finding & joining group chat seems to be quite troublesome and "out of nowhere". Despite this, however, group chats were my lifeline during this academic year. Without them, I don't know if I would have survived this term.

Social interaction is important to all of us. Being able to connect, chat and support peers that are in similar environments as myself helped me mentally and academically throughout the year.

The main problems that I found throughout this year when navigating through group chats was that:

  • Group chat invites were hard to find. They were everywhere, spread out through social media - and not everyone got access easily.
  • Group chats were structured in a disorganized manner - making it hard to find relevant resources related to the course when needed - and they really don't look that good!
  • Some group chats did not exist at all for classes, and everyone was too awkward to ask in Zoom chat if someone wanted to create a group chat.

These problems inspired me to create this bot - in hopes of trying to solve some of these problems.

What it does

CourseConnect aims to provide two main features:

  • A network where students can add their own servers onto for their course. Students can search through the bot to find discord servers for the courses that they are taking for the semester easily - or create and link one to the network if it does not exist yet.
  • A set of tools to help users easily start up their own CourseConnect server - with server templates, commands to add roles, role reaction all packed in one - any student can set up a server within minutes and link it to the network for all to see.

Hopefully, CourseConnect allows users to create and link servers and make them more discoverable to other students within the community, and also promotes users to create servers given that the time needed and difficulty is significantly reduced with the tools/helpful commands provided by CourseConnect.

How it's built

CourseConnect is hosted on repl.it and built with discord.py on Python. The repl.it database is used to store the list of servers on the network.

Challenges I've ran into

The primary challenges in this project were planning out the key features that are important (and I can finish), as well as learning the basics for discord.py.

Accomplishments that I'm proud of

It was my first time coding a Discord bot - so this was a lot of fun! I always wanted to build one, but I kept giving myself excuses - so building one felt really satisfying.

It was also my first time working with databases and having to learn a library (discord.py) within such a short period - but I think I did pretty well.

I think I also wrote nice documentation.

What I learned

  • discord.py
  • repl.it
  • async.io
  • how to work with databases in general
  • learning libraries under a time constraint

What's next for CourseConnect

I believe CourseConnect will work very well if one volunteer from each university hosts it on their on repl.it, and try to get some people to use it - it can make everyone's life easier.

Volunteers can add custom commands based on the university to increase the relevance of the bot. For example, a more "proper" search/find command based on the universities' course naming conventions or commands that can link to APIs that show relevant information regarding academics that may come in handy (e.g. ubcgrades.com for UBC!)

The bot

Add the bot and test it out yourself!

Built With

  • discord.py
  • python
  • repl.it
  • repl.it-database
Share this project:

Updates