We are students and didn't have bank accounts until recently. Additionally, most of our friends use cash only and so we don't use apps like Paypal. This lead to keeping track of long records of payments.
What it does
We built a debt tracking app which displays your total "balance" in each of your groups of friends as well as your transaction history. On the group details screen, you can add two types of transactions, an IOU and a "you owe me". Both types will update your total group balance and the balances of group members who you include in the transaction. This makes it quick and easy to keep track of payments without any actual payments involved.
How we built it
We used React Native to create the mobile app. To store data we used Firebase, and our back-end logic to calculate balances for each transaction was in a Firebase Cloud Function. We also used express to set up a web server which served as an intermediary cache for the database. This was vital to our project's success and will be elaborated on in the next section.
Challenges we ran into
Our biggest challenges occurred while we were implementing functionality to add groups. Possible people in a group come from your contacts and the list should only show people who are registered for our app. This took a lot of database queries and contacts were formatted differently based on OSes. We exceeded the Firebase quota limit, so we created a new project and create an intermediary server that caches the content from Firebase to reduce the number of hits Firebase is getting.
Accomplishments that we're proud of
We are proud of the UI design for this app. We spent a lot of time designing and customizing it. We are also proud of implementing notifications. Originally, we did not plan on implementing this because we thought it would be hard. However, we ended up deeming it too important to leave out.
What we learned
We learned a lot about UI design, how to circumvent quota limits and work with contacts and notifications. We used Adobe Illustrator to create the splash screen and icon.
What's next for Cash Balancer
We started the app with the intention of publishing it to the App Store. After a bit of code cleanup we would publish it to the App store and Google Play Store.
*The first three links are links to our Github repos and the google drive link is a link to the apk