Here we will see what a Flutter production ready app looks like and then we will cover the technical requirements and eventually we will guide how to obtain this app.
We will start off this tutorial by talking a little bit about the techincal stack of this app and then continue with the app features and design.
Technical stack
Welcome screen UI
Our onboarding screen has three slides and they are all easily replacable.
Home screen UI
The above is our home page UI. On the home page we see
Admin panel
Admin panel is in the same app, it's just separating the Admin and User end by different accounts. Admin page covers the following features
User panel
User panel has multiple sections and covers more features in the app itself. Let's see the sections step by step.
Register and Login screen
This section covers Register and Login and Reset password through the Firebase api. And all these features happen using email. Once a user registers an account, it would be stored in Firebase storage.
User features
Some great features are covered and you should go through the image above. Let's list out quickly.
Additional features
Additional features include group chat mention and notification along with exit group chat. We have also added leaderboard feature to our project since it's an educational app.
Reasons to buy
Production ready app
This source code or project is production ready. There are many reasons why I would say so. First we have choosen Flutter framework. It's cross platform framework and exhibit fewer bugs than any other frameworks out there. And it's also seeing continous updates from Google.
Firebase API
But above from choosing this framework there are other criteria for an app to be production ready. One of the example is reliable API. Thus we have used Firebase API for data store and retreive mechanism.
Firebase APIs are fast and reliable and can handle thousands of request seamlessly.
TDD
Test driven development is the key to develop a sustainable and scalable app. With test driven deveploment we test each use case before we use them. With TDD we make sure we have less bugs in our code. This is a great way to secure your app and stability.
Clean architecture
We have used clean architecture for folder structure as well as for app architecture. Clean architecture uses SOLID principle for large scalable app. Clean architecture helps developers to work independently and give chance to extend a code base using a universal approach which is known to the team.
Clean architecture uses separation of concerns mechanism and loosely couple different layers. At the same time, clean architecture enables you to reuse code base for other projects.
Ways to get the code base
There are three ways to get the source code of this project. You may watch it for free on youtube clean architecture course and code along.
You may buy the course on Udemy which comes in two parts. You need to buy both parts and find the code from each section. This is better than youtube since you get the code and learn from the videos given in short lectures.
The third and last way is to buy the source code from buymeacoffee link and then free access to Udemy code given with the code. The source code on buymeacoffee link comes with more features like subscription and group chat mention.