Inspiration
My friends share many of the expenses that come along with having your own apartment. Creating an official joint account at a bank is difficult and involves a lot of paper work, so they have taken it upon themselves to manually track group expenses. However, this is also difficult and tedious and transactions can be lost. The idea for this bot stemmed from a need to automatically track these expenses.
What it does
This bot uses discord application API and serves as a way for users to track shared expenses and contributions. In a shared discord server, users can use some easy to use commands to easily log a shared expense or their contribution to it. There are also commands where users can see all the expenses they have logged, contributions made by every member, download the data, and graph the data into bar charts.
How we built it
I built this bot using mainly the discord API. I was able to pass information sent by users in discord to a separate python file, where I stored this info into JSON files. These files are unique for each server, so the bot can be run in any amount of servers with no overlap. Using this information, I built up a list of commands to display the information regarding expenses and contributions in many ways., including graphs created with Matplotlib.
Challenges we ran into
The challenges I ran into were mainly unfamiliarity with the discord API. There is a lot of conflicting information on the internet, and the official documentation is wildly complex. This made creating an application that fit my needs incredibly difficult. Another challenge I ran into was the implementation of new features. While I had an idea of what functionalities I wanted going into the project, while working on the project, I constantly came up with new and better ideas to implement. Going back and revising old code to work with new features was difficult.
Accomplishments that we're proud of
I am very proud of how I was able to constantly polish my project. There are many aspects that could be built upon, but every hour that passed I had developed an increasingly polished, functional, and useful. The end result is a project that I can genuinely see myself and other people using.
What we learned
This project taught me a lot about using API's, specifically the Discord API and Matplotlib. APIs are very interesting and powerful. They can allow you to do things that normally would seem impossible.
What's next for G.E.T (Group Expense Tracker)
G.E.T has a lot of potential, I think it is an idea that many people could use in their day-to-day life. However, there are still many features which can be implemented that would help even more people. I could start buy transition the code from local file storage to a SQL database for reliability and security. I could integrate some popular payment API like Zelle or PayPal, this would make get a more reliable tracker. That is just the tip of the iceberg for what G.E.T can become.
Log in or sign up for Devpost to join the conversation.