FoodyShare: The Flutter Recipe sharing application.
Tags: flutter, dart, android, 100daysofcode
Published: 2021-12-15 19:14:33



**_Hi_** there👋👋. It's definitely been a minute since I posted stuff on Flutter. It's definitely been a journey of sorts in terms of app development. Think of me as the sort of person who fell in love with coding, attended a Bootcamp, and is now freelancing while building interesting personal side projects. 

My fascination with Flutter began when I saw a [Twitter post](https://twitter.com/onuoha_ifeanyi/status/1352904489192345600?s=19) by Onuoha Ifeanyi detailing how he had developed and published a [Flutter music player](https://github.com/o-ifeanyi/musicPlayer) app to the [Google Play Store](https://play.google.com/store/apps/details?id=com.onuifeanyi.vybeplayer). And hearing all this talk about the framework, I decided to try it out and see how it would go. 

And I do have to say, the journey has been long and interesting. However, that isn't the purpose of this blog and I will cover that in another segment. This blog's purpose is to talk about my latest project: **[FoodyShare](https://play.google.com/store/apps/details?id=com.samwahome.foodshare.food_share)**. Without wasting any more time, let's get down to business.
![GIF](https://media.giphy.com/media/nY73w9brtLXTG9Zm5q/giphy.gif)


### The setup.
To program with Flutter, I did have to learn a bit of [Dart](https://dart.dev/), which was kinda not that difficult as its syntax is similar to that of [Java](https://www.java.com/en/) and [Typescript](https://www.typescriptlang.org/). The next step was downloading the [Flutter SDK](https://docs.flutter.dev/get-started/install) and setting up the necessary code editors. From then on it was tutorial after tutorial with a few additional exercises of course.

### The idea.
One day I had the epiphany to build an app till the production phase and just get it out there, as the tutorials and sample exercises and projects were getting kinda boring, plus I did already have a [Google Play Console](https://play.google.com/console/about/) account that I had purchased for 15$, and it was just sitting there, collecting dust. Looking through some food images on Pinterest, being the food junkie I am, I decided there and then to build a recipe social media app of sorts, not because it would be a revolutionary idea or anything of the sort; I just thought it would be interesting to see how users would interact with the app, or even if it would catch on at all. Ever since I wrote my first line of code, it has been my dream to have something out there that I actually made being used by people, and that's where **[FoodyShare](https://play.google.com/store/apps/details?id=com.samwahome.foodshare.food_share)** comes in.
From the app name, I guess you can tell it involves food(Don't ask how I came up with the name😂). 
The app's premise is simple: A user gets to view recipes from a general discover section, and if you're a more food category-specific person, then there are collections that contain a wide variety of food categories to choose from. The default app only has a select number of recipes to view at a time, hence one could increase the threshold and obtain the ability to view all recipes via in-app subscriptions. 
With the idea and app name checked off my huge list, it was time to get right to the code.

### The code.
All in all, version one of **[FoodyShare](https://play.google.com/store/apps/details?id=com.samwahome.foodshare.food_share)** has taken me about three months to complete. In between those months, there have been productive, lazy, good, and bad days. Sometimes the code would run on the first try, other times it would take me a few hours to a day or two to resolve a bug. I can definitely say I've learned a lot about Flutter and programming after all the blood, toil, and sweat. 
From the blog title, you can tell the app has been made with Flutter, the UI cross-platform framework from Google. In addition to that, the app utilizes [Firebase](https://firebase.google.com/) for its backend, in terms of authentication, analytics, and database needs. Other [libraries](https://pub.dev/) have also been extremely helpful in extending the application's features in terms of the user interfaces, animations, accessing native device features such as the camera, styling text, in-app payments, etc.
On matters of plugins, I have made a series that can be accessed right [here](https://dev.to/samueldotcloud/flutter-interesting-packages-part-3-2c5a). With all that said, I would like to add that the code is definitely nowhere near perfection, though I have made steps to gather knowledge and follow best practices where possible.

### Testing.
Here's  the fun part. Making sure the app functions for all or most use-cases, [be it on small screens or even on extra-large screens](https://docs.flutter.dev/development/ui/layout/adaptive-responsive), that text is formatted properly, and many other delightful tasks, definitely had me busy, ensuring that all objectives were met.
Not to mention [unit tests](https://docs.flutter.dev/cookbook/testing/unit/introduction), which are a developer's favorite hobby, had to be written and run to ensure that the app ran smoothly even as it continued to scale.

### Preparing for launch.
After the app ideation, the code, and a bit of testing here and there, it was finally time to get it out there, on the [Google Play Store](https://play.google.com/store/apps/details?id=com.samwahome.foodshare.food_share) to be more specific, though the App Store version will be coming out soon enough. Doing that involved generating an app icon, app screenshots, a feature graphic, and some catchy text of course. For the app icon, I found [Canva](https://www.canva.com/) to suffice my requirements, though there are obviously many other options.
For the app screenshots, I managed to find a nifty [website](https://appscreens.com/) that was intuitive, feature-packed, and definitely easy to use. For the feature graphic, I found this [website](https://hotpot.ai/templates/google-play-feature-graphic) to have many appealing templates to choose from, and generating it was also a piece of cake.

### Further steps.
Now that the app is out there for the world to use, the next steps will definitely be to improve upon the app to improve the general user experience. 
Of course, I'll be sure to follow up with another blog post detailing app performance, revenue generated, downloads, etc., after a period of time. My project endeavors have many inspirations, though I'd like to mention [Ben Stokes](https://twitter.com/tinyprojectsdev) and his [tiny projects](https://tinyprojects.dev/), which have been quite interesting, to say the least.
For now, it would definitely be a plus if you were able to download the app and tell me what you think of it.



That was indeed all that I have to share for now✌. To all readers, cheers to code🥂, and have a blessed day.