Android Build a Clean Architecture MVVM Auth Module with Industry Level Code - Android Studio

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 พ.ย. 2024

ความคิดเห็น • 32

  • @David-zb8br
    @David-zb8br ปีที่แล้ว +6

    Usually this is the type of content you pay to learn from, but youre posting it for free, huge props to you and keep it up!

    • @kapps7407
      @kapps7407  ปีที่แล้ว +1

      Thank you man, appreciated !

    • @king_vidda
      @king_vidda ปีที่แล้ว

      Bro, this helped me a lot, and i haven't seen content like this anywhere... Thanks Matze ❤

  • @ubersticks
    @ubersticks ปีที่แล้ว +2

    I just finished and this video was great, Matthias. Thanks! The work you do with Canvas results in very interesting and beautiful displays (like the bubbles and top header). These are a challenge to modify to make responsive to different screen sizes due to the hard-coded dimensions, but I had a lot of fun to figure this out. A little algebra goes a long way 🙂

  • @enescanpolat1175
    @enescanpolat1175 ปีที่แล้ว

    This tutorial video is of high quality and very helpful; I hope there will be more to come.

  • @meme_Overflow
    @meme_Overflow ปีที่แล้ว +1

    Man this is premium content ❤

  • @ubersticks
    @ubersticks ปีที่แล้ว

    Great job on this. We need to get you to 1k subscribers !!

  • @PandaTop.
    @PandaTop. ปีที่แล้ว +1

    Дякую, як завжди все дуже круто і цікаво!

  • @cinemovieone
    @cinemovieone ปีที่แล้ว

    Wonderful video my dear. I was able to capture important things from compose for my day to day.
    I need to say that you have a natural talent for programming, you do it very well, I like your logic.
    Thank you for this content, may the channel grow a lot, I've been here since the beginning and it's going to be great to see it grow.

  • @bolatm22
    @bolatm22 ปีที่แล้ว +2

    Hi Matthias! I see this channel has a bright future. Keep it up, bro! I would only say my thoughts: change channel name. It is not memorizable, or better to say unnoticable, I guess. Of course, it is just my humble opinion.

    • @kapps7407
      @kapps7407  ปีที่แล้ว

      Thank you, appreciated ! I will think about it and ask some friends about their opinion too, thanks for the suggestion 👍

  • @jackli1924
    @jackli1924 ปีที่แล้ว

    occasionally see this video, and whatched this video. Great video!it helps a lot to realize a MVVM Clean architecture projects. Thanks a lot bro!

  • @gamingpanther2583
    @gamingpanther2583 4 หลายเดือนก่อน

    This video provides so much clarity and I can say that now I can make a modular application. However, I still confused with uni-directional data flow between each layer. Please make a video about it.

  • @christosbazios52
    @christosbazios52 9 หลายเดือนก่อน

    Excellent video!

  • @SiamakAshrafi
    @SiamakAshrafi ปีที่แล้ว

    Very nice, very helpful!

  • @harinarayandas3703
    @harinarayandas3703 ปีที่แล้ว

    very nice and helpful video

  • @ubersticks
    @ubersticks ปีที่แล้ว

    For those who would like to experiment with flexible values for the bubbles (not hardcoded): this seems to work for me...
    Box(
    modifier = modifier
    .onGloballyPositioned {
    size = it.size.toSize()
    }
    ) {
    val maxWidth = size.width
    val maxHeight = size.height
    val bubbleRadius = maxWidth.coerceAtMost(maxHeight) / 10f
    val littleBubbleRadius = 0.6f * bubbleRadius
    val brushWidth = bubbleRadius * 2f
    then use these values to calculate the min and max x, y, radii, and brush widths instead of fixed values.

  • @ubersticks
    @ubersticks ปีที่แล้ว

    Hey Mattias - we miss your work. Are you going to do any more apps like this in the future?

    • @kapps7407
      @kapps7407  ปีที่แล้ว +2

      Hey, I am sorry but currently I have absolutely no time for recording videos because of my study and freelancing :( But I am planing new videos when I find a period where I have more time.

  • @namno5189
    @namno5189 ปีที่แล้ว

    First of all, thank you so much for such advanced content for free. And how about videos about designing the UI with Compose? I mean how we set up the UI the old way with XML.

    • @kapps7407
      @kapps7407  ปีที่แล้ว +1

      I dont do that much XML anymore. My videos will be always with Compose. The companies I work for will also only use Compose for future projects and existing ones will also be migrated to compose step by step. XML will be obsolete in the future and in my opinion Compose should be in the main focus of learning UI building in Android. (Nevertheless it is of course also recommended to understand the basics of the xml approach)

    • @namno5189
      @namno5189 ปีที่แล้ว

      @@kapps7407 No, I meant designing the UI the Compose way. It is so slow unlike the XML way where we can drag and drop views.

    • @kapps7407
      @kapps7407  ปีที่แล้ว +1

      Hmm for me Compose is faster especially with creating responsive UI. If done right you can use the same composables everywhere in the app if you have for example a custom button. In XML you need the same boilerplate code with little adjustments here and there. Also Compose has a better separation of concerns and you can build your app in the presentation layer in a leaner way.

  • @ubersticks
    @ubersticks ปีที่แล้ว

    Hey Matthias, since this is a video on the clean/correct way to do this, what do you think of the Use Cases including the actual error messages, perhaps in a sealed class rather than an enum? This would allow the presentation layer to present more friendly error messages (like "Password must be longer than 8 chars!" or "Password must contain one of: !@#$%^&**") while keeping the ViewModel from knowing these details (separation of concerns). It seems like the errors and suggestions are business logic.

    • @kapps7407
      @kapps7407  ปีที่แล้ว +2

      Mhh i don’t know if this would be the right way (Of course this can be done and it would definitely work). The use cases should not know anything about what messages to display on the UI in my opinion. If you want to log something depending on the validation result then a sealed class with log messages would be fine but determining what message is displayed on the UI is more presentation layer responsibility. Another idea would be a new ui data class which represents the specific validation hint. Then the enum class could be mapped to this ui class with specific error messages(and maybe even more specific UI related things like error colors) which is then used by the view model .

    • @ubersticks
      @ubersticks ปีที่แล้ว

      @@kapps7407 The UI Data Class feels right. My point is that the actual password requirements belong in the Use Case, yet the instructions to the user (and the error messages) are in UI - how to reconcile without violating the separation of concerns? It is quite likely the need to show the user something like: "Passwords must be >8 chars and contain at least one Upper character, and one of {!@#$%}" instead of just letting them guess what is wrong. Maybe the UseCase layer also would have a "passwordRequirements" interface returning length, special chars, etc. enough to form a localized message in the UI.

    • @kapps7407
      @kapps7407  ปีที่แล้ว +2

      Why shouldn't the password requirements belong in the use case? It is business logic what your app domain accepts as a valid password or not. The ViewModel then processes this business logic with a corresponding error message which you can also indeed define in your domain layer with some kind of sealed class instead of a plain enum class and then just read from the properties within your viewmodel

  • @ItsMe-fj1co
    @ItsMe-fj1co ปีที่แล้ว

    du bist deutscher 😂 Aber trotzdem gutes video 👌

    • @kapps7407
      @kapps7407  ปีที่แล้ว +1

      Haha ✌️✌️