My Spending Analysis
The project is created with
- Google's Dart Programming Language
- Google Flutter Framework
The inspiration for this project comes from my curiosity to learn mobile app development. I wanted a way to create a cross platform app so that I would not have to write a seperate version for both the iOS and the Android version of the app. I found out about the Flutter framework through a Youtuber that I have been following and I realized that I could design and code beautiful material applications using the Flutter SDK. Of course, Flutter uses Dart as its programming language so I had to learn Dart as well.
Fortunately, in my programming classes, I have had a good exposure to the Object Oriented Programming Paradigm and I was already familiar with Java and since Dart has a similar syntax to C and Java, it did not take me long to pick it up, afterall, once you understand the OOP concepts, picking up any object oriented language becomes easier.
Since I was completely new to mobile app development, I wanted to test out the framework and the Flutter environment for my first basic app. I wanted to use all of the logic and the algorithmic thinking that I have been learning in class and expand on it. In my second programming class, we finished up the class by learning how to build Graphical User Interfaces using Java Swing and even though that was basic, it taught me all the technical details that lie under any user interface. This really peaked my interest and following my curiousity, I took on the new challenge to learn Dart to create user interfaces and apps with a new environment - Flutter.
The app allows the user to add their weekly expenses by the day and date and then calculates the proportion of expenses that fall on a certain way. This simple analysis of the spending habits gives the user great insight about their expenses and lets them find out which days they are spending the most amount of money.
I designed and programmed this app during summer 2020, when COVID-19 took over the world. I was really scared of programming and I was not fully sure whether it is something that is meant for me. I had the option of taking two programming courses, one with MATLAB and the other on Data Structures and Algorithms and it was a full conundrum. I realized that maybe I should do exactly what I am scared of and so I surrounded myself with code, that is, I took the two programming courses and was building this app on the side. I was learning so much along the way and was able to apply what I learned from my theoratical classes to this project and the other way around as well. I feel that the problem solving approach of my programming classes and the hands on approach with this project really helped me grow as a programmer when I married the two together. The notion that we can break down an abstract idea into smaller and smaller pieces and solve the smaller problem first really was what kept me going. Looking at everything at once is overwhelming but doing it one step at a time is a rather better approach.