Find out references and recommendations for Flutter app development.
Hello, welcome to the last chapter of this blog series. I am Nibesh from Khadka's Coding Lounge. Let's go over the things we did in this series.
- App Launch Icon was created.
- Implemented a Splash screen.
- Designed Global Theme for our app.
- Created dynamic widgets like App Bar, Bottom Navigation Bar, and Drawer.
- Set Up Firebase local as well as in the cloud.
- Design Authentication Screen with little animation.
- User Firebase Authentication for our app.
- Used Permission Handler and Location Packages to access user location.
- We also fetched nearby temples using Google Place API and user location.
- Created some custom buttons for our application.
- We then used Streams and StreamBuilder to toggle favorite temples in real-time.
You can do a few things to improve this app(in any order).
- Update the Favorite Screen such that it'll display a list of your favorite temples and shops(more on that on #2).
- You can find a hardcoded version of the shop page in this repo. Just like in the temple, create a Firestore collection and fetch data from there. Don't change the design, it's to give you an impression that you're working with a designer.
- Add a save/favorite icon, in the shop items, it should be automatically updated in the favorites screen just like the favorite temples list.
- We haven't much worked on firebase security rules. You can add these on your own for practice. Moreover, you can also add function triggers to validate and filter unwanted user behavior.
- During registration we are not verifying email. Add verification steps to the authentication.
- Make a sub-page like a temple list, from any of the button cards. For instance, add a donation portal. You can even add a popular payment gateway like Stripe to practice.
Just use your imagination. If you happen to improve the app just I hope you'll share it with everyone.
This was a fantastic journey, but I didn't do it all by myself. There are several blogs, courses, and books that have helped me understand the flutter programming language. So, I would like to share some of my recommendations if you want to learn further.
- Dart Programming for Flutter: Beginners Tutorial, a free video tutorial on YouTube for absolute beginners.
You don't have to dwell more here because you'll learn dart as you make the flutter app.
- Flutter & Dart - The Complete Guide [2022 Edition] by Academind. If I have to recommend only one course for flutter then it'll be this one. This is paid course on Udemy that cost around 13 USD, but it's worth it.
- Flutter & Dart crash course, another course by Academind, but its free and available on youtube. So, do check it out.
- Here's the blog which helped me to understand authentication flow, clean coding, and much more.
- If you prefer to read books then try Flutter Apprentice by raywenderlich Tutorial Team. A complete and insightful book for flutter enthusiasts.
- Cloud Functions for Firebase, a very helpful tutorial on firebase functions on YouTube.
- If you understand Hindi, then check out this tutorial series on YouTube by Mukesh Joshi.
- Get to know Firebase for Flutter from the Firebase team, although it's not very simple for beginners.
- Get to know Cloud Firestore, a tutorial series to understand the fundamentals of Firebase Firestore.
The world of development on any platform with any programming language is vast. Many of us recommend/learn a few packages which we feel are necessary sometimes to grow more other times to get a job.
I would recommend you to learn another state-management package since the provider is not a perfect one. There are only two packages I recommend either Riverpod or Bloc. There are other packages too which are good but I would learn animation and designs instead of learning state-management one after another.
Make simple games like those offline games in chrome and play store. Make a simple Mario game. This is all to learn animation in the Flutter.
Dive deeper into the go router package. Learn more about mobile app architectures.
Try reading books like Lean Start-Up and implement the principle in your own application and business.
Whatever you do, don't ever just watch/read tutorials and not practice. If you don't try by yourself you'll never find and understand minor complications and stupid errors that are edited out in tutorials. Write blogs like this to enhance your own skills because teaching is one of the best ways to learn.
Thank you for your support in this blog series. More than anything we hope that you'll be able to create at least a simple application after this flutter app development series. Please do like and share the blog.
We are Khadka's Coding Lounge. We create highly valuable websites and mobile applications at an affordable price. Hire us