Monday Recap: Building an Expense Tracker App [Week 3]
Embarked on a Flutter/Dart journey, building an Expense Tracker app! Learned enums, ListView, async coding, icons & date formats.
Table of Contents
Hello, fellow tech enthusiasts! It’s me again, sharing the latest chapter of my Flutter and Dart learning adventure. This week, I embarked on an exciting project: building a simple Expense Tracker mobile app. I’ll walk you through my journey, from the challenges I faced to the triumphs I celebrated and everything in between.
Step-by-Step Progress: The Real Challenge Begins
As I sat down to code, I felt a mix of excitement and nervousness. This was the week I dived deeper into Flutter and Dart, exploring enums, ListView, Futures, Icons, and Formatting Dates. Each of these concepts played a crucial role in the development of the app.
Understanding Enums
Enums, or enumerations, were my first challenge. These are sets of named constants, and in Dart, they’re incredibly useful for defining custom types (at least according to my understanding). I used enums to categorize expenses, making my app more organized and user-friendly.
ListView and the Art of Display
ListView was next. It’s a versatile widget in Flutter that lays out a list of items. I used it to display the list of expenses in my app. It was fascinating to see how ListView effortlessly managed a growing list of user entries.
Dealing with Futures
Then came Futures. In Dart, a Future represents a potential value, or error, that will be available at some time in the future. I grappled with asynchronous programming, learning how to fetch data without blocking the app’s user interface. It was tricky but incredibly rewarding once I got it right.
Icons and Aesthetics
During the development of my app, I took advantage of Flutter’s extensive collection of icons to enhance the visual appeal of my user interface. As someone who has experience in designing, I found this aspect of the development process particularly enjoyable.
Using these icons allowed me to easily add a touch of creativity and personality to my app, making it more engaging and user-friendly. Additionally, I appreciated the flexibility and customization options that Flutter offers when it comes to working with icons.
Overall, incorporating icons into my app was a fun and rewarding experience that helped me expand my skills as a developer.
Formatting Dates
Lastly, I tackled Date Formatting. It seemed simple at first, but as I delved into the nuances of Dart’s DateTime and DateFormat classes, I realized there was more than meets the eye. Getting the date formats right was crucial for tracking expenses effectively.
The Emotional Rollercoaster
Challenges and Frustrations
The journey wasn’t always smooth. There were moments of frustration, especially when dealing with Futures and asynchronous code. Bugs seemed to creep up when least expected, and error messages were sometimes cryptic. On the other end, I guess this is also part of the learning curve that I need to face.
Triumphs and Celebrations
But with each challenge came a triumph. The joy of seeing my ListView populate with data or getting the date format just right was making me happier. These small victories kept me going.
What I Learned
Technical Skills
- Enums: Great for defining custom types and organizing data.
- ListView: Essential for displaying lists in a dynamic and efficient way.
- Futures and Async Programming: Vital for managing data that isn’t immediately available.
- Icons: A simple yet powerful way to enhance user experience.
- Date Formatting: Crucial for handling dates and times effectively.
Soft Skills
- Patience: Coding requires patience, especially when dealing with new concepts.
- Problem-Solving: Each bug and error was a puzzle to be solved.
- Perseverance: Pushing through challenges is key to growth.
Looking Forward
As I wrap up week three of my Flutter and Dart journey, I’m filled with a sense of accomplishment. Building the Expense Tracker app was not just about coding; it was a journey of personal and professional growth.
My Flutter and Dart adventure continues, and I’m more excited than ever to keep learning and building. Stay tuned for more updates, and thanks for joining me on this journey!
Disclosure: Some of the links in this article may be affiliate links, which can provide compensation to me at no cost to you if you decide to purchase a paid plan. These are products I’ve personally used and stand behind. This site is not intended to provide financial advice and is for entertainment only. You can read our affiliate disclosure in our privacy policy.
Table of Contents