Inspiration
In the age of increased market diversity, keeping track of ones personal finances poses a growing challenge on a great number of people around the world. Our project aims to alleviate the weight of such experiences, educate them on good financing, and build healthy spending habits.
What it does
Manages unlimited user accounts each with different data and login details. Allows for authentication and account creation.
Allows users to upload csv files of transactions from the app. Stores all data in the persistent database.
Provides a GUI that allows a user to set a time window and view statistics about their spending in this window. Displays a dynamic spending over time graph based on the data. Categorises the transactions and allows users to split their view over each category. Tracks user transactions across all of their accounts and aggregates the data.
Provides a ChatBot feature in the app that allows the user to communicate with an AI that is able to give them advice on their finances
How we built it
The application uses a Flask backend with Python that manages an SQLite database. The frontend is written in TypeScript using the Next.js framework.
Challenges we ran into
Connecting the backend to the frontend and passing data between them. Generating effective JSON files from the database and interpreting in Next.js Rapidly adapting to new frameworks and technologies we had little to no experience with Coordinating the different flask and next servers
Accomplishments that we're proud of
The dynamic and engaging user interface. Seamlessly integrating the ChatBot into the frontend of the main webpage Creating a robust and easy to use database Managing to successfully mix the backend with the frontend The responsive and user-focused design Effective file handling and allowing user created files
What we learned
We have gained far more experience with the key technologies used in the project. Further to this the code coordination has greatly improved all of our proficiencies using Git and GitHub across a large project. Collaborating together on this project has enhanced our teamwork skills and abilities to communicate while working in parallel. The tight programming window has given us an opportunity to further our planning and time management skills which helps with future tight deadlines.
Built With
- flask
- javascript
- next.js
- powershell
- python
- shell
- sql
- sqlite
- typescript
Log in or sign up for Devpost to join the conversation.