Flutter Clean Architecture Full Course For Beginners - Bloc, Supabase, Hive, GetIt

Поділитися
Вставка
  • Опубліковано 28 січ 2025

КОМЕНТАРІ • 380

  • @dontdoit6986
    @dontdoit6986 9 місяців тому +15

    How are you not a multi-millionaire when you're capable of building these apps front to back? Great work. Thank you so much.

    • @arafathussain851
      @arafathussain851 9 місяців тому +6

      Plot-twist- he is..

    • @opengl-ve1bv
      @opengl-ve1bv 2 дні тому

      not this much, he is just building frontend, supabase is a backend as a service , so technically he is just doing frontend , and flutter by itself is not enough for mobile development, you need experience in native frameworks like compose and swift ui, don't overrate him

  • @jeromestsauver
    @jeromestsauver 8 місяців тому +40

    Rivaan you have a gift for teaching! I rarely hang in this long on a course like this but I'm 4 hours in and still going!
    The concept of the domain and the data layer sharing a repository through abstract class interfaces finally clicked for me when watching this. Many thanks!

    • @jeromestsauver
      @jeromestsauver 8 місяців тому +3

      I made it through the whole thing! Time to build!

    • @MezuEric
      @MezuEric Місяць тому

      Congrats how long did it take generally
      I'm just about to start​@@jeromestsauver

  • @DEVKushal-t8b
    @DEVKushal-t8b 10 місяців тому +33

    I was annoyed that you weren't posting any new videos, but now that you have, I'm glad.

  • @MUSABEYTEKIN-jh9pu
    @MUSABEYTEKIN-jh9pu 10 місяців тому +7

    Your explanation is really simple and understandable. One of the best training videos I've ever watched. Greetings from Turkey.

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому +2

      Thanks so much, glad it helped!

  • @vladimirlysenko384
    @vladimirlysenko384 10 місяців тому +3

    Hello Rivaan, thank you very much.
    Yeaah, I've completed 7 hours. It took me a few days to go through the whole video. Thank you for the simple explanation of this complex concept

  • @KhanAdnann
    @KhanAdnann 8 місяців тому +6

    Hey Rivaan a big update from my side. Received an offer for flutter developer. I've learnt a lot from your videos. Thanks man.

    • @RivaanRanawat
      @RivaanRanawat  8 місяців тому +1

      Big Congratulations Adnan🎉🎉

  • @claudedaiga5897
    @claudedaiga5897 10 місяців тому +6

    Thank you very much Rivaan for sharing this master tutorial on using flutter bloc, and also explaining the clean architecture.

  • @codewithsadid
    @codewithsadid 10 місяців тому +14

    Hey Rivaan, I just wanted to drop in and say a massive thank you for your amazing Flutter and BLoC tutorial. It was incredibly well-structured and insightful, making the learning process so much smoother and enjoyable. Your dedication to sharing knowledge is truly appreciated!
    Also, I have a small request. Could you consider creating a tutorial on building a food delivery app using Google Maps with live ride-sharing features in Flutter and BLoC? I believe it would be a fantastic addition to your tutorials, and many of us are eager to learn how to integrate these advanced functionalities. Thanks again for your great work! 🎉

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому +7

      I do have plans for building a food delivery app but I'm not sure if it's going to be with Bloc. Considering Riverpod (with code gen) for it

    • @codewithsadid
      @codewithsadid 10 місяців тому

      @RivaanRanawat thank you for your reply. It's great to know that.

    • @ogodomoses7674
      @ogodomoses7674 10 місяців тому

      ​Looking forward to that Sir 🙌

  • @KhanAdnann
    @KhanAdnann 10 місяців тому +8

    I know, only Rivaan can make me understand things like these. ♥

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому

      Thanks Adnan, let me know if you're able to understand!

  • @kareemmuhamedz
    @kareemmuhamedz 8 місяців тому +1

    7:04:58. Finally done! I hope to add some awesome features to this app in the future. Of course, I will do this at another time, and when I do, I will share my repo here for everyone.
    thanks Rivaan. ❤✅

  • @damarsatriabuana812
    @damarsatriabuana812 9 місяців тому +1

    i like your explanation, detail oriented and not boring anymore. thank you for providing this quality free tutorial

  • @saleheen12
    @saleheen12 4 місяці тому +2

    Can't believe this is free. Even a paid course wouldn’t be this good

  • @saleheen12
    @saleheen12 4 місяці тому

    Rivaan, you are the only person who could make me understand this. I tried many videos before. None made sense to me. I am so grateful to you. Can't thank you enough.

  • @عبدالقادرعبدالرحمنعبدالله

    The type of tutorial i have been looking for about clean architecture in Flutter. Thank you.

  • @sangameshkyatappanavar
    @sangameshkyatappanavar 10 місяців тому +2

    Even though it's a bit challenging for me to get my head around this, after your such an amazing explanation, I should just practice it more to get a knack of it! but, man, you're truly done a great job in explaining every bit soo clearly! thank you soo much for this amazing tutorial bro! For real! Thanks a bunch! 💗😊

  • @MuntasirHossen-w3s
    @MuntasirHossen-w3s 10 місяців тому +1

    An excellent tutorial for clean architecture for flutter I have ever found in youtube ❤❤❤. Now completed it.

  • @VaibhavC-co1bi
    @VaibhavC-co1bi 10 місяців тому +4

    Man you really are amazing I was waiting for this video but I haven't watched it yet😅😅😅
    I know your flutter tutorials are all awesome.

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому

      Thanks! Let me know how it goes ;)

  • @kacchan9766
    @kacchan9766 10 місяців тому +1

    man I had been looking for a good Clean Architecture video for 3 days now and see what I got now. Man you have posted it at a great time.

    • @mercenary06
      @mercenary06 10 місяців тому

      Same with me!

    • @pranavbhatkar
      @pranavbhatkar 10 місяців тому

      also same with me

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому +1

      Lemme know if you guys were able to understand the content!

    • @kacchan9766
      @kacchan9766 10 місяців тому

      @@RivaanRanawat Thank you very much. Understood everything. Is there any possibility of a video on Optimisation and Performance like the dos and don'ts. It would be a great help.

  • @Anony.01
    @Anony.01 10 місяців тому +3

    You are doing so much for the Flutter community brother, Thank you dil se ❤️

  • @yasserhy
    @yasserhy 5 місяців тому +4

    I know that most dart developers will use the "imp" as a keyword for the implementation, but coming from a C# background, I prefer using the "I" for the interface and the normal name for the implementation. I found it very helpful while following along with this course. So, the IAuthRemoteDataSources will be for the interface and the AuthRemoteDataSource will be for the implementation, as an example

  • @MuhammadTalha-ui7hc
    @MuhammadTalha-ui7hc 10 місяців тому +1

    Excellent Rivaan I have just completed you bloc tutorial and you have so good in your explanation that I can't even describe the best part of your explanation is that you explain even basic things of dart ThankYOu so much for these tutorials

  • @tanmaymaheshwari1676
    @tanmaymaheshwari1676 8 місяців тому

    I am an hour into the project and I cannot appreciate how well you have explained all the little things in the UI. Hoping the entire project goes like this!

    • @firenub
      @firenub 6 місяців тому

      how does it went do learn anything

  • @Boxheadsllc
    @Boxheadsllc 10 місяців тому +1

    Great tutorial! I love tutorials that go straight to code and code quickly! Thanks.

  • @alfirst8089
    @alfirst8089 9 місяців тому +1

    Thank you very much for this content. I've learned a lot of good things. Hugs from Brazil

  • @arcecoral4312
    @arcecoral4312 7 місяців тому

    非常感谢 Rivaan 分享这个关于使用 flutter bloc 的教程,并解释了干净的架构。

  • @robimegu3712
    @robimegu3712 2 місяці тому

    Thank you so much for the guidance! I was able to understand the use of Clean Architecture in Flutter and all the related packages. You made an amazing tutorial! Keep it up! 💪🧠🧑‍💻

  • @ManmaySakib
    @ManmaySakib 10 місяців тому +1

    Love to see you Rivaan... Love From Bangaldesh.

  • @kevinkone
    @kevinkone 9 місяців тому +1

    Thank you very much Rivaan. So much learned in only 7 hours.

  • @anandpatel3580
    @anandpatel3580 9 місяців тому

    That's fantastic! Rivaan bhai's video on Clean Architecture seems to be really insightful and practical. It's great and I'm not just watching video but also actively practicing by creating Flutter projects. It's through hands-on experience like this that you can truly understand and apply concepts to write production-level code. Keep up the good work!

  • @ananteshgopal3032
    @ananteshgopal3032 10 місяців тому +2

    Amazing content Riwaan!❤ Your teaching style and your voice is really unique!!

    • @kevinkone
      @kevinkone 10 місяців тому

      Only that can motivate you to watch until the end Rivaan's Tutorial 😄

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому

      Thank you so much guys!

  • @Software-Engineer-and-Hacker
    @Software-Engineer-and-Hacker 8 днів тому +2

    I'm a react developer having 1 year of experience and now I'm shifting towards the flutter and to keep my React journey consistent i need someone with whom i can keep building projects to keep me updated. I would like to collaborate if anyone interested

  • @nabeelsaleem504
    @nabeelsaleem504 12 днів тому

    Just start watching your video and you earn a new subscriber ❤

  • @GuilhermeRochaFast
    @GuilhermeRochaFast Місяць тому

    This has so much great content, thank you so much!!!

  • @roninspect4357
    @roninspect4357 10 місяців тому +1

    I Genuinely Appreciate this video!
    Thank you very much

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому

      Thanks for your constant support!

  • @gofullstack
    @gofullstack 10 місяців тому

    36:20 Preferably you'll want the entire page to be scrollable because the devices that your app will be used on won't have the same dimensions has the one you are using in development. Bigger screen sizes would be okay but smaller ones will result in an overflow err but if it's scrollable then the user has the job 👍🏾

  • @nikhilkukreja8498
    @nikhilkukreja8498 10 місяців тому +3

    Thank you so much Rivaan brother ❤❤

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому

      Thanks for your constant support Nikhil!

  • @wraith3108
    @wraith3108 10 місяців тому +2

    After a long time. Finally a flutter video, thank you brother.

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому +1

      The previous video was a flutter vid too!

  • @ANILSRGT
    @ANILSRGT 9 місяців тому +1

    I learned a lot, thank you. It was great.

  • @randomcsguy2065
    @randomcsguy2065 10 місяців тому +1

    most awaited!!!!

  • @techwithotabek
    @techwithotabek Місяць тому

    Thanks a lot Rivaan!

  • @shreyaspatil7862
    @shreyaspatil7862 10 місяців тому +1

    Selute to your hard work in love tutorial please keep making the content on flutter and we will also love to see a course in jetpack compose ❤ keep it up

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому +1

      Would love to explore Flutter and beyond

  • @rahulagarwal968
    @rahulagarwal968 10 місяців тому

    I am always eagerly waiting for your videos. Keep sharing your knowledge with us !!

  • @bimasaktikr
    @bimasaktikr 10 місяців тому

    U just got a new subscriber, but i need to learn basic flutter first. see you next week!!

  • @PiyushDewangan-qu7kt
    @PiyushDewangan-qu7kt 10 місяців тому

    Eagerly waiting for this type of video...
    Thank you so much for this content.

  • @fahadkhan-hf6ec
    @fahadkhan-hf6ec 10 місяців тому

    Rivaan is back with his new master piece 😇

  • @pravinprince3221
    @pravinprince3221 10 місяців тому

    Thank you for the wonderful tutorial bro it is so helpful for me and my team, thanks again
    i have not finished the tutorial but it will be good so thank you in advance

  • @raffb3669
    @raffb3669 10 місяців тому

    Awesome! thanks for taking time to share this knowledge.

  • @ajinomoto-tf9zr
    @ajinomoto-tf9zr 10 місяців тому +1

    clear explanations 🫡 from newbie

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому +1

      Thank you, glad it's understandable!

  • @tancuregaming4149
    @tancuregaming4149 5 місяців тому

    How much patience do you have bro? wow you have explained it so clear and so many times through out the course hats off amazed

  • @kevinkone
    @kevinkone 10 місяців тому

    Thanks you very much Sir Rivaaan, You are a Great Teacher.

  • @lonsun9234
    @lonsun9234 11 днів тому

    I love your video. Please keep it up

  • @xenowarp
    @xenowarp Місяць тому

    Bro Dropped This Banger and Vanished

  • @pairprogrammer8616
    @pairprogrammer8616 6 місяців тому

    I really appretiate your efforts.
    Keep it up.

  • @TomBardacky
    @TomBardacky 8 місяців тому +1

    3:46:50 can you please be more specific with what this means? To what files do we add the copyWith function to? user_login.dart and user_sign_up.dart?

    • @TomBardacky
      @TomBardacky 8 місяців тому +1

      Oh maybe. In
      auth_remote_data_sources.dart
      we add ".copyWith" to the line
      "return UserModel.fromJson(response.user!.toJson());"
      But do we change anything on that line?

    • @TomBardacky
      @TomBardacky 8 місяців тому +1

      So, would it be two lines of code changing?
      return UserModel.fromJson(response.user!.toJson()).copyWith();
      return UserModel.fromJson(response.user!.toJson()).copyWith();
      Like this?

  • @saleheen12
    @saleheen12 4 місяці тому

    Can't thank you enough. I am very grateful to you and I wish I could pay back the favour

  • @protocol4313
    @protocol4313 10 місяців тому

    video is very informative & clarity.
    expecting more videos with clean arch in flutter

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому

      Thanks! Why more vids with clean arch?

    • @protocol4313
      @protocol4313 10 місяців тому

      @@RivaanRanawat clean arch vids
      on triggering api calls using dio/http. setting up login signup auth tokens etc using bloc with clean arch

  • @Eunsmoqj
    @Eunsmoqj 10 місяців тому

    God sent you for flutter developers. ♥♥♥♥♥♥♥♥♥♥♥♥♥♥

  • @wijesijp
    @wijesijp 7 днів тому

    Hi
    Great tutorial !!
    I noticed a small issue at 4:45
    line 21 and 24 policy should be changed to
    create policy "Users can insert their own profile." on blogs
    for insert with check ((select auth.uid()) = poster_id);
    create policy "Users can update own blogs." on blogs
    for update using ((select auth.uid()) = poster_id);

  • @Incredible2India
    @Incredible2India 9 місяців тому

    1:9:00God of flutter sir salute hai aap ko ❤

  • @SubruZz
    @SubruZz 10 місяців тому

    Thanks man even before starting this I course I know It will be awesome ❤❤

  • @GlennMartin
    @GlennMartin 4 місяці тому +1

    Rivaan this is excellent work my friend. Any chance for the next tutorial we can get a desktop and mobile app? would be interesting to see how you do the split in the code between the two with your clean code approach.

  • @h3w45
    @h3w45 10 місяців тому

    just what i needed, thanks

  • @msiprime
    @msiprime 6 місяців тому

    I have implemented that Chip with (Filter Chip) at 4h :26 min .. In my version, I got rid of any stateful behaviour, No need mapping + gesture detector as well. It is built in notifier and in future, I can do HookWidget on this page. (No need set state call as well) .

  • @gamershubhya9769
    @gamershubhya9769 6 місяців тому

    Thank You Rivaan❤

  • @RajatGore-bl6lv
    @RajatGore-bl6lv 5 місяців тому +1

    i am faccing the " email rate limit error " any solution please help

  • @shykatislam5581
    @shykatislam5581 10 місяців тому

    bro is flutter god. in the community,

  • @suleymanbayramov8754
    @suleymanbayramov8754 10 місяців тому

    Thanks a lot ! Amazing work 👏👏

  • @subinaypanda9936
    @subinaypanda9936 9 місяців тому

    Great video. Loved it.

  • @dhruvagrawal8836
    @dhruvagrawal8836 9 місяців тому +3

    I have a doubt, Rivaan! How should I implement the logout? I mean, what should be the flow? Should I call logout from the blog screen? And since logout is ideally related to authentication, I cannot use the authentication repository here due to the 'S' in SOLID principles. Additionally, I cannot create a global use case, as high-level modules cannot depend on low-level authentication modules. What should be the flow?

    • @ibrahimanimasahun9431
      @ibrahimanimasahun9431 8 місяців тому

      Stop overthinking SOLID principles! signoutUseCase can be called from cubit/bloc and signout is fine in the authentication repository

  • @АртурЗарипов-б2й
    @АртурЗарипов-б2й 10 місяців тому

    Good job! Thank you very much!

  • @nqmgaming2004
    @nqmgaming2004 6 місяців тому

    Nice tutorial, I learn a lot from that

  • @laabiditarek1122
    @laabiditarek1122 10 місяців тому +2

    Finshed the vedio really good xDDDDDD

  • @prashantbhardwaj7627
    @prashantbhardwaj7627 9 місяців тому

    thanks god for sending Rivaan

  • @josipkilic843
    @josipkilic843 10 місяців тому +1

    Rivaan, with all due respect to `fpdart` package, why would you use it since Dart has Records?
    My example of an API method...
    Future getMyResponse()
    Then in the code, if it returns properly, I return an instance of MyResponse and I return null for the `error`.
    If it returns an error, I return null for the response and some error.
    Does this make sense?
    It's pretty clean and we utilize new Dart feature without using additional packages.

  • @Adez3
    @Adez3 10 місяців тому

    Great job ! 👍

  • @zayahanhasanshah1337
    @zayahanhasanshah1337 2 місяці тому +1

    Hey Rivaan thank you giving us this great tutorial. In past couple of weeks I learned dart and flutter from your 20 hour video. In this video I 'm facing a problem when I try to upload a blog this app in my virtual app gets hang and I have to restart the app and blog dosen't go back to the supabase

  • @dhirajkumawat108
    @dhirajkumawat108 10 місяців тому

    Much Needed 😊

  • @codermadushan
    @codermadushan 3 місяці тому

    Thank you very much bro ❤️

  • @syariffahri5832
    @syariffahri5832 10 місяців тому

    Hi! Add more to this content which discusses bloc for other applications such as multi-account applications with bloc as state management

  • @vishnup8719
    @vishnup8719 5 місяців тому +1

    so signOut logic is using AuthBloc or Cubit?

  • @de-day1882
    @de-day1882 10 місяців тому

    That hive still feels annoying and quite hard to understand, and thank you rivan for this super video this is much helpful.

  • @MinhNguyen-ft6iv
    @MinhNguyen-ft6iv Місяць тому

    Tks alot, this is actually a really good tutorial and help write actually clean code. However, in the process of using it I feel like it take too much time for just one query. So I think you can make a tutorial on a simplified version of this clean architecture.

    • @daksh_2005
      @daksh_2005 Місяць тому

      thats the neat part about clean architecture. in enterprise level apps you need to maintain a lot of code and clean architecture does that for you. dont worry it has a steep learning curve but it is worth it

  • @hiteshkumaryadav8373
    @hiteshkumaryadav8373 10 місяців тому

    At 6:36:00 why are we using UserModel instead of User entity?

  • @Mr.AppMaker
    @Mr.AppMaker 6 місяців тому

    I have a doubt how you will check if user is authenticated or not for thate before u have to check if there internet connection or not 2:50

  • @ivan_0590
    @ivan_0590 10 місяців тому

    Thank you very much for the course.
    There is one thing I'm struggling with and I was hoping you could help me, if your don't mine.
    When using a feature first approach, what happens when you have a single local SQL database for all your app?
    I understand that the creation of the database itself probably has to go to the core or shared folder.
    But what happens if you have 2 features and one of them has a model that has a relationship with a model of the other feature? I'm talking about foreign keys, of course.
    Can one feature be used inside another feature?
    Or is it better to move all the models to the core or shared folder alongside the database creation?

  • @satyamjha43
    @satyamjha43 10 місяців тому

    Thankssss Rivaannnnnnnn🎉❤️❤️

  • @mlm1106
    @mlm1106 10 місяців тому

    awesome content! New suscriber here!

    • @RivaanRanawat
      @RivaanRanawat  10 місяців тому +1

      Thank you, hope you find enough value from the channel!

  • @suhail_bilal
    @suhail_bilal 10 місяців тому

    This is awesome.

  • @pranay96
    @pranay96 Місяць тому

    2:04:00, the user does not show up. no errors are thrown. checked the code base almost 3 times and can not seem to find any issues. helpppppppp

    • @pranay96
      @pranay96 Місяць тому

      bruh, I have been using an invalid email for the last 3 hours, coming from a Firebase background, I thought it would work, but only when I printed an error in the bloc, did the issue become apparent.
      pro tip: put a print statement in the bloc so if something goes wrong you can tell by looking at the console. I do not know why there were no exceptions thrown as I had been following along with writing the code i know that we have implemented lots of try-catch blocks everywhere but none seem to work will keep you updated if I find the answer

    • @createdbysmcap
      @createdbysmcap 29 днів тому

      @@pranay96 Yeah, but I used my everyday email, and still not a single user shows up. I admit I'm all new to Flutter, but as you said, I checked at least 3-4 times the code and everything's ok...

    • @VillainGarageWorks
      @VillainGarageWorks 21 день тому

      @@createdbysmcap Don't worry, I'm having the same issue. I've tried sending messages to the console when AuthSignUp is called inside the auth_bloc.dart file and nothing. But I can get a console log when I press the sign up button. I've been at this, like you, for 3-5 go arounds in that section of the video and I think I have everything right, and can't seem to figure it out.

  • @Mhmd_SHA
    @Mhmd_SHA 10 місяців тому

    thanks sir😍, it was very helpful video

  • @seamensclubaihub
    @seamensclubaihub 10 місяців тому

    Wow!! Cool! ❤

  • @rahulagarwal968
    @rahulagarwal968 10 місяців тому +1

    Hi. If I have to implement a monthly or yearly subscription model for my mobile application. Then is it mandatory to use In-App-Purchases ? I mean we cannot use an external payment gateway. How Netflix is redirecting users to its website to avoid 30% fees. Please talk about this.

  • @i9thgeneration893
    @i9thgeneration893 10 місяців тому

    Hii you are the best keep doing project it will helpful to more people and i am requesting you to make a video on animation app

  • @leodang00
    @leodang00 10 місяців тому

    Thank you, glad to learn the foundation of clean architecture from you. Will you work on the full stack Flutter - Social Post Scheduler project?

  • @MDSHOAIBAHMED-k8y
    @MDSHOAIBAHMED-k8y 2 місяці тому

    actually good video

  • @esmatullahahmadzai1284
    @esmatullahahmadzai1284 9 місяців тому

    Thank you very much for making such videos I added a in blog feature to this app to fetch the current user blogs in a separate screen the issue I face is it overrides the the data of each other when I dispatch the user blogs event it hides the data of the blog screen and vise versa

  • @rexmonsheneke1158
    @rexmonsheneke1158 10 місяців тому

    Thanks you very much (from congo)!!!

  • @OrtegaKabwe
    @OrtegaKabwe 9 місяців тому

    Thanks you so much for this video

  • @reelstoday9
    @reelstoday9 10 місяців тому

    sir bloc s related video upload kre apke samjhany ka tarika acha hai

  • @h3w45
    @h3w45 8 місяців тому

    at 5:41:53 can't we just do a null check in fromJson method, i think that's better than writing the copyWith method inside the remote call,
    and thanks for the amazing tutorial.