Build Flutter Apps Fast with Riverpod, Firebase, Hooks, and Freezed Architecture | Apps From Scratch

Поділитися
Вставка
  • Опубліковано 12 гру 2024

КОМЕНТАРІ • 89

  • @adilbasharat
    @adilbasharat 3 роки тому +17

    I need to watch this 200 times to understand it all .. This video contains the most amount of information one can get in 20 minutes on UA-cam. Good Job Marcus.

    • @dennisbarzanoff9025
      @dennisbarzanoff9025 2 роки тому

      If you need 200 times to understand it, that does not speak good for the video

    • @adilbasharat
      @adilbasharat 2 роки тому +2

      @@dennisbarzanoff9025 or doesn’t speak good for my intellect

    • @dennisbarzanoff9025
      @dennisbarzanoff9025 2 роки тому

      @@adilbasharat lol teacher vs student

    • @dennisbarzanoff9025
      @dennisbarzanoff9025 2 роки тому +2

      @@adilbasharat i would say this vid requires a lot of prev knowledge and experience. It's advanced.
      You need tp be able to relate to certain things

    • @adilbasharat
      @adilbasharat 2 роки тому

      @@dennisbarzanoff9025 I understand it now and implemented it already in my app. Watched it about 200/10 times in order to do so 😄

  • @CZARCZAR
    @CZARCZAR 2 роки тому +1

    14:42 Breaking changes
    In order to get the state of the Exception provider, you must have to use .notifier like this:
    _read(itemListExceptionProvider.notifier).state = e;

  • @Ahmedibrahim356
    @Ahmedibrahim356 3 роки тому +21

    This is actually the most valuable video i have ever seen on youtube until now. 🤩 Great work !

    • @Ahmedibrahim356
      @Ahmedibrahim356 3 роки тому

      @@ExtraServingsBTS can you do better ? I guess not.

  • @KennyBlewett
    @KennyBlewett 2 роки тому +17

    6:50 For anyone watching in current times, HookWidget is depreciated and should be replaced with HookConssumerWidget. With that the first few lines of the HomeScreen class should look more like this:
    class HomeScreen extends HookConsumerWidget {
    @override
    Widget build(BuildContext context, WidgetRef ref) {
    final authControllerState = ref.watch(authControllerProvider);

  • @miguel_bogota
    @miguel_bogota 3 роки тому +9

    I love this kind of tutorials. It feels more like Fireship or Robert Brunhage videos. I hope I can see more of them in the future. However, I have to admit I enjoy way more your 'Apps from Scratch' tutorials. I'm new to Flutter and be able to see somebody think and guide me through everything it's amazing.

  • @kemids2842
    @kemids2842 3 роки тому +7

    YES!!! thank you so much! please create more tutorials with Riverpod, Firebase, Hooks, and Freezed

  • @CZARCZAR
    @CZARCZAR 2 роки тому +1

    7:11 Breaking changes on the sign-Out button
    To read the method signOut() you must use the ref instead of the context like this:
    ref.read(AuthControllerProvider.notifier).signOut();

  • @tluanga-ruatpuii-pa
    @tluanga-ruatpuii-pa 3 роки тому +25

    There hasbeen breaking changes in StateNotifierProvider, the code should be final authControllerProvider = StateNotifierProvider

    • @CZARCZAR
      @CZARCZAR 2 роки тому

      Very useful, thanks

  • @Soulcybering
    @Soulcybering 3 роки тому +3

    I love Riverpod + Freezed, hope to see more videos with them inside.
    This video is one of the best about the topic currently, thank you

  • @haseebkahn4811
    @haseebkahn4811 3 роки тому +3

    I just found out this channel. I can't believe how lucky I am to have found such an expert flutter developer. Thank you!

  • @chuxville11
    @chuxville11 3 роки тому +8

    Thanks for another one Marcusng

  • @kirilllapshev
    @kirilllapshev 2 роки тому +2

    What a great video! Riverpod + Fluter hooks + Freezed is a really powerful combination! Thank you for sharing your knowledge! 🙏🏻🙌🏻

  • @stewartchan1057
    @stewartchan1057 3 роки тому +1

    Working through the tutorial now - really great stuff. Thanks!

  • @RandalLSchwartz
    @RandalLSchwartz 3 роки тому +7

    hooks_riverpod automatically pulls in flutter_hooks and all the riverpod stuff. I let the transitive dependencies take care of that.

  • @rhuanbarros
    @rhuanbarros 3 роки тому +1

    the best video about flutter riverpod hook firebase

  • @Ageleo
    @Ageleo 3 роки тому +4

    Loving the recent activity from you

  • @silas_wolf
    @silas_wolf 3 роки тому +1

    This video is absolutely amazing, thank you!!!

  • @koxwobi6431
    @koxwobi6431 2 роки тому

    Dude, thank you so much for this content! It's a huge help for me now!

  •  3 роки тому +27

    Me putting on repeat to see more ads so you can get some money from me

  • @a22601807
    @a22601807 2 роки тому

    Thanks for your sharing! I learn from this course a lot.

  • @laziboi5975
    @laziboi5975 2 роки тому

    I learn much from your video man!, thx much

  • @em3888
    @em3888 3 роки тому +3

    Great materials actually

  • @quicksketch1617
    @quicksketch1617 3 роки тому +2

    Hi, I have some questions, I use a lot of autocomplete and 2 were different of what you use:
    1 - cloud firestore - firestore core, what is the difference
    2 - In the ItemListController, before create the variables, it creates this construtor, again what is the diference?
    ItemListController(AsyncValue state) : super(state);
    Your constructor
    ItemListController(this._read, this._userId) : super(AsyncValue.loading());
    It's set to loading, why?
    And what is extensions?
    extension FirebaseFirestoreX on FirebaseFirestore

  • @peekpt
    @peekpt 3 роки тому

    Simple, direct, informative

  • @naratewongserewattana3966
    @naratewongserewattana3966 2 роки тому

    love this tutorial

  • @talatkuyuk6556
    @talatkuyuk6556 3 роки тому

    Thanks for that.You are very clever. Two questions. 1) If we manipulate an item directly from Firebase, does the UI listen this changes, so it updates self automatically? How do we do that? 2) how we separate all logic from UI establishing model-view-viewmodel (MVVM). I want to reach view model from a view(UI) for example with model.itemList, model.countItem, model.getItemList() something like that? If you provide an architecture like MVVM using the same tools (RiverPod, Firebase, Freeze, Exception mechanism etc., listening the database, caching mechanism etc.) this will be very huge achievement.

  • @alarmaerand7082
    @alarmaerand7082 2 роки тому

    Super useful video about setting structure and architecture for your app!
    Do you have some video or course how to solve Firebase data access layer in generic way. That CRUD operations and streaming results are done in in generic way and can be used for all the collections etc. Maybe some clever way with extensions or inheritance etc.

  • @TylerR909
    @TylerR909 3 роки тому +1

    Awesome! Next idea: Continue from here and implement a way for me to share this list with my wife on her own account. We need to convert to streams, model our data for shared access, figure out invites/linking/ownership… Would be a pretty cool exercise.

  • @1GAMEDOG1
    @1GAMEDOG1 2 роки тому +1

    The cloud_firestore API has been updated and you need to specify the type of data you're getting from the DocumentSnapshot.
    This means the line
    > final data = doc.data()!;
    in the item model, needs to be changed to
    > final data = doc.data()! as Map;
    or you'll get the error "The argument type 'Object' can't be assigned to the parameter type 'Map'."

  • @andenetalexander5244
    @andenetalexander5244 3 роки тому

    This is how you write beautiful code.

  • @mdhossen7082
    @mdhossen7082 2 роки тому

    This video is Very helpful

  • @akshaymankodia9003
    @akshaymankodia9003 2 роки тому

    Hi, thanks for the video @
    Marcus Ng . May I know , how can we do testing for filtered list either of any testing method i.e. unit/widget/integration ? Thanks

  • @quangle5701
    @quangle5701 2 роки тому

    Hi @Marcus, I really like the content. Do you have plan to include Riverpod into your Flutter courses? Thanks.

  • @avatar_ng
    @avatar_ng 3 роки тому +1

    Thanks for the great tutorial!
    I got this error message while implementing the login page. any idea why?
    "'package:riverpod/src/framework/base provider.dart': failed assertion: line 944 pos 7: 'exposedvalue is listened': a provider tried to assign `null` to a non-nullable `exposedvalue`"

  • @adilbasharat
    @adilbasharat 2 роки тому

    Can you do a tutorial on how to implement google maps with riverpod and have the initial camera position go to users address from friebase?

  • @Qibla_Kha
    @Qibla_Kha 2 роки тому

    What is the best way to retrieve an Item and access its name (item.name) using the itemListController if i know the item id ?

  • @Creat0299
    @Creat0299 3 роки тому

    Good day. I liked your lessons. Could you take a lesson on how to make a mobile application on the topic of ecology? For example, the application how to improve the ecology in the place where you live, having good habits, can be done in a playful way. And so on. What do you think? It is on Flutter in the Dart language. After all, the topic of ecology is more relevant than ever, you will help a lot if you do a lesson

  • @lowglow687
    @lowglow687 3 роки тому +7

    You made me feel like I have to relearn how to code again :'(

  • @DiegoTheWolf
    @DiegoTheWolf 2 роки тому

    Could you make a follow up on how to implement more than anonymous login (like the normal email, google, etc.) I'm trying to port my bloc logic but i cannot get my head around it

  • @hojdog
    @hojdog 2 роки тому

    Nice code quality

  • @keithbacalso9433
    @keithbacalso9433 3 роки тому

    Hi Marcus Ng, I am just curious, what is the best or what State Management that is very useful for you and why?

  • @guythomas9977
    @guythomas9977 3 роки тому +1

    What plugin is putting the inline error descriptions in vs code?

    • @CodingwithDay
      @CodingwithDay 3 роки тому

      @@MarcusNg was looking for this for so long.

  • @debajyotisaha14
    @debajyotisaha14 2 роки тому

    The Reader Type in 3:46 is not in Riverpod 2.0. Can anyone tell me the fix??

    • @justbasic2862
      @justbasic2862 Рік тому

      old:
      final Reader _read;
      _read(*);
      new:
      final Ref _ref;
      _ref.read(*);

  • @Hema115
    @Hema115 2 роки тому

    My Item widget is stuck on the CircularProgressIndicator... Please help!!

  • @sultanmyrza
    @sultanmyrza 3 роки тому

    What software is used for intro video?

  • @evara0
    @evara0 3 роки тому

    thanks for the video

  • @kenmmita346
    @kenmmita346 3 роки тому +1

    was going well ... until you used freezed to generate all those methods. I'm still struggling to know what they are used for.

  • @nevek895
    @nevek895 2 роки тому

    lol your video is like fireship's video :D

  • @DavidHust
    @DavidHust 3 роки тому

    I'm at a lose why there is an auth_controller file. All it seems to do is repeat what what is in the auth_repository file.

  • @naxcall
    @naxcall 2 роки тому

    make videos about updated riverpod pleasee

  • @RamkumarSivakaminathan
    @RamkumarSivakaminathan 3 роки тому

    I'm not sure why your website loads without any CSS while I'm connected to my broadband but is perfectly fine on my mobile network

  • @tsbaurzhan
    @tsbaurzhan 3 роки тому

    Why you created abstract repository if you hardcoding firebase repository in your provider?

    • @ihardikb
      @ihardikb 3 роки тому

      for unit testing

  • @StevenHagene
    @StevenHagene 3 роки тому

    the latest riverpod breaks this, is it possible to see the changes with latest riverpod?

  • @tluanga-ruatpuii-pa
    @tluanga-ruatpuii-pa 3 роки тому

    factory Item.fromDocument(DocumentSnapshot doc){ final data=doc.data()!; return Item.fromJson(data).copyWith(id:doc.id); this line gives an error message The argument type 'Object?' can't be assigned to the parameter type 'Map'

    • @adilbasharat
      @adilbasharat 3 роки тому +1

      Any leads on this ? I have the same issue

    • @evanz7863
      @evanz7863 3 роки тому +3

      You can cast it during assignment. This fixed the issue for me.
      final data = doc.data()! as Map;

  • @calvingonsalves9741
    @calvingonsalves9741 3 роки тому +1

    0:50 Iphone 13 O_o

  • @tluanga-ruatpuii-pa
    @tluanga-ruatpuii-pa 3 роки тому

    The code is notworking please update

  • @pikapikabooboo
    @pikapikabooboo 3 роки тому +2

    How about a Firebase GetX paid course?

  • @mdhossen7082
    @mdhossen7082 2 роки тому

    How to make flutter calculator

  • @mahmudizukri
    @mahmudizukri 3 роки тому

    Cool

  • @andrewparris5372
    @andrewparris5372 3 роки тому +1

    Are your courses up to date with Flutter 2.0 ( Null Safety )? I ask because, as we all know, Null Safety broke a lot of these UA-cam video tutorials.

  • @faheemahmad3957
    @faheemahmad3957 3 роки тому +1

    still tooooo difficult please make a simple flutter social app that is easy and simple basic

    • @purushottampk4530
      @purushottampk4530 3 роки тому +1

      Based on admin role

    • @faheemahmad3957
      @faheemahmad3957 3 роки тому

      @@purushottampk4530 yeah please :*

    • @AMODERNArcher
      @AMODERNArcher 3 роки тому +2

      Yes it might be difficult but making a social app doesn't make anything more simple..

  • @shei69
    @shei69 3 роки тому

    Can you do one with changenotifier instead of statenotifier ?