Flutter Production Ready App

Created At: 2024-03-29 15:24:37 Updated At: 2024-03-30 07:33:02

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

  1. Flutter framework 
  2. Firebase for restful api
  3. BLoC for state management 
  4. TDD for writting correct api and test
  5. Clean architecture for scalable app

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 

  1. Slides for seeing the latest course 
  2. All the courses released
  3. See videos related to the courses

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 

  1. Creating courses 
  2. Uploading course materials 
  3. Uploading course exams 
  4. Uploading course videos 

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.

  1. Profile and edit profile
  2. View materials 
  3. Exam screens
  4. Exam results 
  5. Subscription 
  6. Group chat
  7. Mention somebody in the group

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.

Comment

Add Reviews