Complete Flutter E-commerce App - Bloc, Clean Architecture, Firebase

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

КОМЕНТАРІ • 62

  • @aouadicharaf1038
    @aouadicharaf1038 29 днів тому +1

    Thanks for having our back Madi!! ❤❤❤

  • @moheb-adel
    @moheb-adel 4 місяці тому +5

    best flutter instructor ever !

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

    Made a book marketplace using this

  • @from_whatch
    @from_whatch 4 місяці тому +3

    My question 😂❤Thank you 🙌

  • @SreeragNair-w9l
    @SreeragNair-w9l 4 місяці тому +9

    Should've added payment integration for this project

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

      Of course u just need pay for transactions 20-25 cent two or three years ago😅

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

      How ?​@@lordew9476

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

    I love ur teaching ❤️❤️❤️❤️😍

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

    I am really excited to watch it.

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

    best practice tutorial sir

  • @CHOWDHURYSHADABAIMAN
    @CHOWDHURYSHADABAIMAN 3 місяці тому +1

    hey your source code from "Product" part isn't updated can you kindly fix that around time frame 4:00:00 hours

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

    can you please include Unit test

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

    Hello! Is the abstraction with dependency injection really necessary? We might better go into that rabbit hole once we have the need for it.

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

    which font do you use on your vscode

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

    I really want to do native app development but I doubt if I can make stunning ui like this using jetpack compose!

  • @Nishant-cx5wb
    @Nishant-cx5wb 3 місяці тому

    Sir, in my flutter firebase, a new database name 'Users' is not creating. Tell me the reason for this please

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

    can we do a office / hostel management app with call registry, room booking (conference rooms/ hostel rooms) , raise a request etc

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

    hi is there any admin page??
    how to make one

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

    pls can you make the admin panel with the delivery boy app for this project?

  • @ROHITCHAUHAN-bp4dt
    @ROHITCHAUHAN-bp4dt 3 місяці тому

    Great work sir, Can you make video for whatsup app clean architecture using bloc

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

    Hi Mahdi, you're an awesome instructor! I'm following all your Flutter series. I’m encountering an issue: when I navigate from the Settings Page to the Favorites Page and then click on a product to view its details, if I remove it from favorites from product detail page and then go back using the back arrow, it still appears on the Favorites Page. Could you show me how to update the previous screen or use BLoC to handle this? Thanks!

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

      You can inject bloc provider in favorites page and then use in detail and remove item and finally inside detail again fetch favorties in this favorites page will be updated while you are in detail

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

    Couldve been better if you put TDD ive been waiting for this with TDD since Retroportal's is outdated.

  • @kanatkudaibergenov564
    @kanatkudaibergenov564 4 місяці тому +7

    Why you didn't make bottom navigation bar? In 2024 bottom navigation bar is the most necessary widget, every app, okay, 90% of apps must have bottom navbar

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

      This app is his own design. If you need a bottom navigation bar, create it yourself... Simple 😊

    • @Simomajola1
      @Simomajola1 11 годин тому

      @@tsred8378😂😂😂😂😂😂

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

    Why did you create the AppNavigator?

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

      Because I don't wanna write bunch of code for navigation everytime.

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

    your top selling is not updated in the github, your using hexCode for the colors and products, mine is rgb any fix for this or update? 4:00:00
    whenever i run the app it gives me error on a file object_patch.dart:
    line 38: throw new NoSuchMethodError.withInvocation(this, invocation);
    Error
    "Exception has occurred.
    NoSuchMethodError (NoSuchMethodError: The method 'map' was called on null.
    Receiver: null
    Tried calling: map(Closure: (dynamic) => dynamic))"

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

    could you make a full flutter project in 4 platfroms (android/ios/desktop/web) with backend in dart fro us please
    this will be a significant help

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

    How can you log out

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

    Can I code by looking at you?

  • @박정현-n1s8l
    @박정현-n1s8l 4 місяці тому

    teacher. I hope to learn flutter based on supabase. Teacher, what do you think?

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

    Why firebase and not laravel?

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

    Great video

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

    it's not a full functional e-com project just basic very basic no difference between admin and normal user no payment no upload product functionality

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

    can you give the init project github? since you already created before starting to code in the vid

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

      No I didn't create, I created in recording

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

    Excellent

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

    Watched only one hour and there are questions to your knowledge of Clean Architecture:
    Your domain layer depends on UserCreationReq which is in Data layer. Isn't it violation of Clean Architecture?
    And why do you use "extends" instead of "implements"?
    Also you don't use generics in Either.

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

      Does the domain layer have anything to do with the implementation of UserCreationReq?
      Dependency does not mean that you should not pass a parameter.
      You can use generics Either, There is no difference
      And about using extends this is kind of futurism, Maybe we will have shared behaviors in the future.
      lemme explain difference:
      When to Use extends vs implements
      Use extends if you want to inherit behavior (i.e., shared methods and properties) from a base class. This helps when multiple subclasses will have similar behavior and don’t need to reimplement the same logic.
      Use implements when you want to enforce that a class adheres to a specific contract (i.e., an interface), but you don’t want to inherit any specific behavior from the base class. Each implementing class must define its own behavior from scratch.

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

      ​@@flutterguys sorry, but this is not a production level of code. Starting from UI and ending by the architecture.
      For example, your UI code doesn't follow SOLID and clean code principles, as well as Flutter guidelines. Don't you know that returning widgets from functions isn't recommended, as it affects on performance.
      I think you're a junior+. So please be a professional, and then start recording tutorials.
      Respect your subscribers time. It's not unlimited.

    • @flutterguys
      @flutterguys  3 місяці тому +2

      @@shafeemahmoud5769 Thank you for your opinion
      I always believe that UI is not an important issue. You can give the UI to a junior in a team, but you cannot give the structure to a junior because refactoring and modifying UI codes is very simple and can be done at any time so you can clone and refactor the project. But you cannot refactor the project structure whenever you want. So I focus more on structure and logic.
      Dear friend, no one writes the best code, any code can be rewritten cleaner, so my goal is not to make you write the cleanest code by watching this course, anyone who claims that they follow all the principles and the cleanest code Be aware that he is a fraud. After seeing the course, you should go to see if it can be done better or not, that's all.
      Thank you again
      If the channel is not useful for you, please leave and leave the judgment for others.

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

    You can give me a data of firebase I don't the way to add it fast.

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

    All your authrepositoryimpl do is call authfirebaseservice functions and nothing more, so why bother making authfirebaseservice? Can't you just put the code in the repository impl?

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

      high-level modules should not depend on low-level modules

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

    👍👍👍👍

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

    yeeah

  • @MohitSingh-lq1ns
    @MohitSingh-lq1ns 4 місяці тому +1

    First Comment.

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

    Hii sir,
    I am Sai Jawake. I want some help of yours can you please provide me configuration file of your e-commerce flutter applications firebase database.
    Tommorow is my project submission, your little help will help me alot sir.
    This is what I want sir - ua-cam.com/video/V13tFNFELiQ/v-deo.html

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

      I can't do this, I have to respect privacy of users

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

      Sir, I don't want any type of data. I just want how you designed the database because the images and the product details are not coming in my project so just want to see how you declared the database schema.
      For example - product images, sizes and schema​
      Sorry, if my comment make you think that I want your project.@@flutterguys

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

    ERROR:D:\flutter_projects\Ecommerce-App-With-Flutter-main\build\firebase_core\intermediates
    untime_library_classes_jar\debug\classes.jar: D8: java.lang.NullPointerException
    ERROR:D:\flutter_projects\Ecommerce-App-With-Flutter-main\build\cloud_firestore\intermediates
    untime_library_classes_jar\debug\classes.jar: D8: java.lang.NullPointerException
    ERROR:D:\flutter_projects\Ecommerce-App-With-Flutter-main\build\firebase_auth\intermediates
    untime_library_classes_jar\debug\classes.jar: D8: java.lang.NullPointerException
    FAILURE: Build failed with an exception.
    * What went wrong:
    Execution failed for task ':app:mergeLibDexDebug'.
    > Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
    > Failed to transform classes.jar (project :cloud_firestore) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, com.android.build.api.attributes.AgpVersionAttr=7.3.0, com.android.build.api.attributes.BuildTypeAttr=debug, com.android.build.gradle.internal.attributes.VariantAttr=debug, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=23, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
    > Execution failed for DexingWithClasspathTransform: D:\flutter_projects\Ecommerce-App-With-Flutter-main\build\cloud_firestore\intermediates
    untime_library_classes_jar\debug\classes.jar.
    > Error while dexing.
    > Failed to transform classes.jar (project :firebase_auth) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, com.android.build.api.attributes.AgpVersionAttr=7.3.0, com.android.build.api.attributes.BuildTypeAttr=debug, com.android.build.gradle.internal.attributes.VariantAttr=debug, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=23, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
    > Execution failed for DexingWithClasspathTransform: D:\flutter_projects\Ecommerce-App-With-Flutter-main\build\firebase_auth\intermediates
    untime_library_classes_jar\debug\classes.jar.
    > Error while dexing.
    > Failed to transform classes.jar (project :firebase_core) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, com.android.build.api.attributes.AgpVersionAttr=7.3.0, com.android.build.api.attributes.BuildTypeAttr=debug, com.android.build.gradle.internal.attributes.VariantAttr=debug, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=23, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
    > Execution failed for DexingWithClasspathTransform: D:\flutter_projects\Ecommerce-App-With-Flutter-main\build\firebase_core\intermediates
    untime_library_classes_jar\debug\classes.jar.
    > Error while dexing.
    I am getting this error. Also the storage in firebase is not free.