Flutter Riverpod Course Selling App

Created At: 2023-03-04 02:54:56 Updated At: 2024-02-10 16:54:34

I build this Flutter course selling app using Riverpod. It's great state management system which stays between Getx and BLoC. This same app has been created using Both Getx and BLoC.

Here I have used Riverpod. Let's take look at the UI

App features

  1. onboard screen
  2. email login
  3. social media login
  4. viewing course
  5. play video course
  6. upload course from backend
  7. view multiple teachers course
  8. buy course on the front end
  9. stripe payment
  10. super admin panel
  11. teacher admin panel
  12. chatting feature
  13. teacher's chatting app
  14. search feature

Riverpod source code

Get the source code of this app from the link below. This source just includes Riverpod state management. If you want Getx or BLoC, go to the top of the page.

In terms of Riverpod we have covered in the Udemy course.

  1. Provider
  2. StateProvider
  3. StateNotifierProvider
  4. AsyncNotifier
  5. Notifier with Family modifier
  6. Auth generate riverpod code
  7. Riverpod keep alive and Auto Dispose Notifier Provider
  8. Error handling with Async Notifier Provider

This course covers both old Riverpod and new Riverpod 2.0 version. So you will be able to master and maintain old code base. At the same time, you will learn how to use the new version. We also covered some good practices of architecture like MVC pattern along with how to pass ref and WidgetRef object correctly. 

Take the course on Udemy

Buymecoffee link for complete code

Other features

Riverpod has been used as state management,  rest of the features you may know about from the link below. 

Course selling app

Rest of the features are same as mentioned in the above link.

Promise

If you take the course, you will master Riverpod and Riverpod 2.0. We have also covered core concepts of dart

  1. const and final modifer and when to use them
  2. dart immuitibiliy 
  3. dart singleton class and static objects
  4. dart so called copyWith method
  5. dart different kinds of constructor
  6. arrow function 
  7. getter and setter methods in dart
  8. dart function assignment and anonymous function 
  9. passing callback function 
  10. passing ref object to different classes

Backend

We used Laravel framework for building backend and API. Backend has multi user privileges. It means there are super admins and sub admins. Teachers accounts are sub admin. Super admin can observe and assign roles to the teachers or the sub admins.

With this course, you will learn how to build token for your api and how to do authorization of user access using Sanctum package of Laravel.

We used Laravel eloquent to work with our database from controller. 

By the end of this course, you will master

  1. Laravel basics and MVC
  2. Laravel admin panel (CRUD)
  3. Laravel sanctum 
  4. Laravel restful api

Firebase

Firebase is used for email login and third party login like Google, Facebook and Apple. We also used Firebase for storing chat information of users. All the chat messages are also saved in Firebase.

Stripe payment

Stripe payment includes for course selling using webview payment. We covered in detail how to use web_hooks of Stripe and do the payment. Along the way you will learn cool tricks how to set up Stripe payment and debugging in depth.

In this course, we have a dedicated session(like 90 minutes) for talking about payment and payment gateway like Stripe. If you want to get the picture, you may take our course on Udemy or you may request to buy watermark free for 1 dollar on buymeacoffee

Version

  1. PHP > 8.2
  2. Laravel > 10
  3. Flutter > 3.0

Deployment guide

Separate teacher's from super admin panel

Upgrade and missing part

Missing video

There's a missing video between 4:45:00 to 5:00:00 in the part two. Check out the missing part here 

Working with network url for video player

Here we will see how to upgrade the deprecated api for network url of video. Go to this link and change as necessary.

Comment

Add Reviews