Maslow-Fulfilled Last Update
A final report on my progress
Hey guys! I can’t believe that my endeavor to contribute to NesaByte’s Maslow-Fulfilled is coming to an end. I am proud to say that I overcame my earlier challenges to deliver a feature to allow NesaByte’s app to read from a local JSON file and populate the calendar and homepage progress bars. I am quite happy with the results, they both work as I intended. I believe that I can truly say that I have achieved my goals of contributing an appreciated, bug-free feature and I want to thank NesaByte herself for helping me work on her project whenever I got stuck.
The Nitty and the Gritty
I’ll quickly go over each pull request and discuss the technicalities behind each feature. For the calendar markers, I first created some mock data (hard coded dates to test with) and then created a map (used to map data) to essentially build a list of events- which can be now be seen on the calendar.
As for the progress bar, Flutter uses Material UI (which provides a host of widgets to import and use). I changed what NesaByte currently had, which was just a simple CircularPercentIndicator object and switched it to multiple LinearPercentIndicators, all stacked on top of each other in a pyramid style (see example) to better fit the theme of her app.
Essentially, I created padding objects with the LinearPercentIndicators as it’s child to display the progress bar. The padding allows for space between each progress bar. In the above example, you can see the attributes that one can modify to change the look and behavior of each progress bar.
Moving on, I added code to be able to read from a JSON file (see image to the left). This allows me to read and then build/extract data to be used in the progress bars. Additionally, I created a JSON file in the projects asset folder to hold mock data that I used to test to see if it worked. Before, each progress bar had a hard coded value for it’s percentage, but now I can read from an array built from the JSON file.
What did I learn?
I learned a little bit more of what Flutter can offer regarding it’s widgets and functionality. By experimenting with different ways to display data (changing from the circular to linear indicator), I can now build apps with varying UI’s that can also read from the phones local files. I also learned a little bit more about good communication; being able to befriend and message NesaByte allowed me to complete features to her liking. Furthermore, whenever I got stuck on parts of the app that I didn’t understand, she was able to quickly hop on and walk me through her code. I think after all of this, I have realized that there is no shame in getting help from others- and if you can you should always reach out when stuck.