CareBot

GitHub release (latest by date) Made with Python GitHub Azure

A simple Telegram bot that assists in pairing volunteers with a VWO that aligns with their interest

Chosen Theme and Problem Statement

  • Theme: Giving Back
  • Problem Statement: QN 1: Volunteering is one of the best ways to give back to our community. What creative ideas do you have to make volunteering easier, widespread, and more beneficial to those in need?

What does it do?

Our hack consists of a simple Telegram bot, that assists prospective volunteers to find VWOs and other charity organisations that are working in areas that interests the volunteers.

Users are first greeted by a message asking for their area of interest, following which, a list of compatible VWOs is returned back to the user. Clicking on any one of the buttons will direct the user to the online forms created by the VWOs for allowing volunteers to sign up for their volunteering activities.

How does it solve the problem statement?

Telegram has become increasingly widespread in our community, with a myriad of Telegram bots being created for all sorts of purposes, from feeding us news to telling us bus timings. By integrating a "Search Engine" of sorts into our Telegram bot, we will be able to better connect with eager volunteers who might be unaware of volunteering opportunities in Singapore. The use of the Telegram Bot API also allows for the easy sharing of information and signup form links to users, which would assist in their decision to volunteer for a certain organisation which they believe in.

How did we build our hack?

We mainly used Python as our language of choice, along with multiple PyPI libraries such as python-dotenv and python-telegram-bot to help build our solution.

We collaborated on Visual Studio Code, using the Live Share extension to allow for simultaneous development, testing, and debugging.

We also deployed the bot to a Microsoft Azure Windows 10 Enterprise Virtual Machine, to ensure 24-7 availability and reliability.

Difficulties

For many of us, this was the first time we were exposed to external Python libraries and had to sieve through tons of documentation to understand how a certain library works. It was also the first time for many of us with regards to Asynchronous Programming, as we are used to Synchronous Programming in the languages we used for school, and hence we struggled to figure out which functions return promises and hence must be awaited, and which do not.

Biggest Learning Point

Our biggest takeaway is that both the frontend and the backend are important in building software/programs. Often in our studies, we tended to focus on the backend side of applications and on the specifics of algorithms and data structures, and we tend to neglect the interface used to show off the code we wrote. From this hackathon, we have learned that both of these aspects cannot exist alone, and that for a program to run, both must come together and be tightly integrated with each other.

Built With

Share this project:

Updates