Main Landing Page
Tool for Managing Budgeting
As students who all have different approaches to handling their finances, all of which come with their own difficulties, we decided to make a project that help solve this issue by providing a platform, where transactions and balances cacn be seen clearly.
What it Does
Our web-app provides a set of tools to help students keep track of their expenditures and incoming funds, allowing them to set budgets and see how they have stuck to them. The main dashboard clearly shows the balance, and the history of your balance based upon transactions, as well as other graphs for showing the distributions of contributors to the transactions. There is the ability to view transactions history as well as a tool to calculate the remaining spare money based upon university and personal prediction costs.
How we Made it
We started by dividing up tasks until they were all in a position to be combined. Max setup the MongoDB Atlas database system and configured how python is able to communicate to the cloud based database. Fin implemented a flask framework, handling webpage get and post requests. Ben setup the Google Cloud Platform and Github to automatically sync, to provide online hosting. We used Atom that communicated to Git making pull/push requests so that we could all work on the project simultaneously. We clearly communicated throughout, ensuring everyone was heading in the right direction, in order to produce a fully functioning website.
Problems we Faced
None of our group had used python for back-end webserver development before, let alone the flask framework. Neither had any of us used MongoDB to host a database in the cloud. The same was also true for hosting with Google Cloud Platform, so all of these combined resulted in a lot of research being necessary to get all components working together smoothly. Whilst constructing the flask framework, we had to handle user sessions and cookies as well as ensuring connections to the server were secure, especially when creating a new account, so we had to implement bCrypt hashing algorithm.
Accomplishments that we're Proud of
We're proud that our web-app is as interactive and responsive as it is, and are happy that the hard work we put into it has paid off.
What we Learned
We learned a lot of technical skills while dealing with the frameworks and services. For example, we improved our research and communication skills, since most of the concepts were learned completely from scratch.
What's Next for Cash It!
We're going to try to add in the extended functionality it deserves to have, such as the ability to track multiple accounts!