Flutter TDD Clean Architecture Course [1] - Explanation & Project Structure

  Рет қаралды 291,096

Reso Coder

Reso Coder

Күн бұрын

Пікірлер: 226
@Inandoutpk
@Inandoutpk 3 ай бұрын
For the ones who do not udnerstand it in first go . I'm coming back to these videos 3rd time with 2-3 months gap in between. Previously It was heard for me to get these concepts but now I understand.... SO KEEP COMMING BACK TO GOLDEN CONCEPTS. Thank You Reso Coder, I LOVE YOU:)
@КириллЛескин-к1ж
@КириллЛескин-к1ж 10 ай бұрын
The first person who explained why you have to have both models and entities, great stuff!
@dalinarkholin4169
@dalinarkholin4169 5 жыл бұрын
Amazing stuff, as usual. You're literally the best Flutter KZbinr out there. Keep up the good work!
@ResoCoder
@ResoCoder 5 жыл бұрын
Thank you very much!
@ShadowInfest
@ShadowInfest 5 жыл бұрын
@@ResoCoder can just say the same ;) not just beginner stuff, everything is well structure and you deeply thought about what to tell and show! Relaxing voice, perfect speed and Linux haha. Keep up that good work!!
@Manish-cgain
@Manish-cgain 5 жыл бұрын
Didn't know Dalinar knew flutter, how's Urithuri ?
@dalinarkholin4169
@dalinarkholin4169 5 жыл бұрын
@@Manish-cgain OMG what a surprise! Urithiru is great. Gotta watch out for Odium though!
@laminebendib
@laminebendib 2 жыл бұрын
@@dalinarkholin4169 You're putting your newly acquired writing and reading skills to good use 👍
@davidfox4253
@davidfox4253 5 жыл бұрын
Thought I would add a comment here for those wondering how the entire course is instead of waiting till you are half way through and finding some modules aren't as good or lacking etc.. I can tell you, as a developer or a beginner, this course is a must because it follows solid engineering practices not ad hoc development like some other tutorials. As an experienced developer I still learned a lot and know you will as well. Thanks again RESO CODER!!!
@SameenIslam
@SameenIslam 4 жыл бұрын
Are you the creator of devRant by any chance?
@davidfox4253
@davidfox4253 4 жыл бұрын
@@SameenIslam No I am not. Why was I ranting too much :)
@SameenIslam
@SameenIslam 4 жыл бұрын
@@davidfox4253 haha no it's an app and a pretty funny one at that! Its creator also has the same name as you.
@LondonQuiTran
@LondonQuiTran 3 жыл бұрын
I applied for a development job and went through 3 interviews. After the 3rd interview, I was given a take-home assignment that requires us to know clean architecture. I know nothing about clean architecture but have experience developing apps. The company gave me some slides to learn clean architecture but I don't think they explain it that well. I am reading your written tutorials and then watching the videos and taking notes. You are saving me! Thank you!
@Hema115
@Hema115 2 жыл бұрын
Got the job?
@rifkiardiansyah616
@rifkiardiansyah616 11 ай бұрын
Got the job?
@rakeshsinghrawat4408
@rakeshsinghrawat4408 4 ай бұрын
got the job?
@tintin537
@tintin537 5 жыл бұрын
I'm in the middle of my first flutter project, And I wish I had found you earlier. I'm a fan of Uncle Bob and clean architecture.
@techstudio7331
@techstudio7331 5 жыл бұрын
Firstly: Thankyou @ResoCoder for your overwhelming tutorials, You're Awesome!! Secondly: For All of you looking for same icons add this in your setting.json file: "material-icon-theme.folders.associations": { "global_state": "global", "ui": "layout", "bloc": "controller", "features":"other", "presentation":"layout", "data":"database", "domain":"rules", }, That's all folks!
@kawhao3757
@kawhao3757 2 жыл бұрын
OH MY GOD! You make me to understand a lot design, framework , code I have coding 2 year . You're video open my mind forever. Thanks , sir.
@omarhalabi889
@omarhalabi889 2 жыл бұрын
Thank you from Syria, This is literally the corner stone I was looking for.
@sargamagarwal4544
@sargamagarwal4544 3 жыл бұрын
After watching ton of videos...I finally found yours who took time to go into the depth of things. Thank you
@Vellutia
@Vellutia 5 жыл бұрын
What an amazing series. I'm so thankful for all of the efforts you put into this series. Keep it up
@jasnamitrovic1650
@jasnamitrovic1650 4 жыл бұрын
ex iOS now Flutter dev here. just found out about this content and amazed by it! Keep up the great work.
@jonathan3087
@jonathan3087 5 жыл бұрын
Perfect explanations, perfect speed. Fantastic job. Best Flutter Tutorial I've seen on KZbin! Hats Off to you Sir!
@marekchojecki4746
@marekchojecki4746 5 жыл бұрын
Nice one. A lot of tutorials are focused on explaing one thing, a couple of them are showing archtectirure patterns, almost none of them are explaing testing. You are planning to create it all together and whats more with TDD. Awsome job and desire to share knowledge. Thanks for that and I hope, We’ll see a lot of videos from you
@tityseptiani8584
@tityseptiani8584 5 жыл бұрын
Thank you for the tutorial! Finally a real world implementation of a clean architecture instead just the common tutorials on how to create this and that. Your explanation is very clear and easy to understand.
@mohammedmokhtar2482
@mohammedmokhtar2482 2 жыл бұрын
your illustration is extremely clear and simple
@jesselima_dev
@jesselima_dev 5 жыл бұрын
The best content about Flutter. Most of content out there focus on spaghetti UI. They do not care that much about clean or even a well defined and scalable architecture.
@ResoCoder
@ResoCoder 5 жыл бұрын
Thanks Jesse! I'm glad you find this valuable.
@Majkelo879
@Majkelo879 5 жыл бұрын
I'm comming from mvvm pattern and I was looking for something like that for flutter really long time and I finaly found. Thanks a lot, amazing video!!
@ShivamJha00
@ShivamJha00 3 жыл бұрын
I was just thinking to get the uncle Bob's clean architecture book and you mentioned him :D
@EricBichara
@EricBichara 5 жыл бұрын
This is an amazing course you've put together, really appreciate all the hard work you put into it. In the future would love to hear more about how to handle more complex cases with full CRUD operations, as well as multiple views/blocs/repositories which are interdependent. Looking forward to the next class!
@divinemaredi8298
@divinemaredi8298 3 жыл бұрын
What would I do without this video? Thanks a lot!!
@hexdump8590
@hexdump8590 5 жыл бұрын
Man, claps to you. Top quality and for free. Thanks for all this content. Really appreciated.
@hammadpervez4568
@hammadpervez4568 4 жыл бұрын
Love your tuts, Please make video about Best Practice in Flutter and Performance, and How to make an app Responsive in a best way. I am searching for these videos for a long time.
@Eltramicst
@Eltramicst 4 жыл бұрын
Matej, thank you so much for existing. You aim to provide the best app development courses/tutorials out there and in all of the research I have done over the years, yours have always prove to be a major cut above the rest-your pacing, your choice of words, your easy-going vocal demeanor-it's untouchable. I cannot express how truly thankful I am for you and the wonderful work you do for the entire developer community. Keep doing what you do best. Much love and support, brother. 💙
@ernestbarrachina5771
@ernestbarrachina5771 4 жыл бұрын
Best video I've ever seen about flutter architecture! Thank you very much for the content!
@AhsanAli-qc9pz
@AhsanAli-qc9pz 5 жыл бұрын
Thank you, soo much , I was searching everywhere to learn something useful for flutter. I studied the flutter.dev documentation but still I was not able to figure out how to map my study project and also i am unemployed I hope studying your tutorials help me getting a job. You are doing great !!! :-)
@ResoCoder
@ResoCoder 5 жыл бұрын
Thank you! The job will surely come - I'm putting all I know out there and I'm good, so you'll be too!
@RobertWildling
@RobertWildling 5 жыл бұрын
The waiting is gonna be hard now... a bit like Christmas: I am going to count how often I have to sleep until it is here! Except it is harder, because I don't know the date, when your next video will be published... Awesome!
@ResoCoder
@ResoCoder 5 жыл бұрын
The next Christmas will be in just a few minutes then 😄
@luisaaronpacorachangana7622
@luisaaronpacorachangana7622 5 жыл бұрын
What a good video, it brings a lot to good practices for development with flutter. Greetings from Peru!!
@h3w45
@h3w45 2 жыл бұрын
really amazing to see this advanced stuff
@uch195
@uch195 3 жыл бұрын
amzzing stuff sir, keep the good work up.
@ntirinigasenior7901
@ntirinigasenior7901 5 жыл бұрын
Well explained in a simple and understandable way, now I understand flutter as pro
@moubiswasEdits
@moubiswasEdits 2 жыл бұрын
The file structures are really awesome and it helps me as a beginner developer, Thanks for the video
@batuhankrbb
@batuhankrbb 3 жыл бұрын
You made 24 minutes video and I studied it for 3 hours :D
@roxelrollmendoza6918
@roxelrollmendoza6918 3 жыл бұрын
Anyone watching this in 2021? haha Thanks for this tutorial great content I am new to flutter :)
@kevinmcquown
@kevinmcquown 5 жыл бұрын
A more complex app would have many features that potentially share the same entities and data. Should those directory structures be up a level, outside the feature tree?
@ibrahimalazzawi2949
@ibrahimalazzawi2949 5 жыл бұрын
i was asking the same question... what did you end up doing?
@jessewright870
@jessewright870 5 жыл бұрын
Same question. Any input @resocoder?
@jorgewandersantanaurena422
@jorgewandersantanaurena422 4 жыл бұрын
I would use similar structure in core folder to hold those entities shared between features.
@TheSldsnake
@TheSldsnake 4 жыл бұрын
when you have to share u have to create an interface to abstract the complex
@БилиЏин-ь6ц
@БилиЏин-ь6ц 4 жыл бұрын
Did anyone find good structure in this case?
@mustafashaikh7829
@mustafashaikh7829 5 жыл бұрын
Nice explanation
@someshsahu4638
@someshsahu4638 Жыл бұрын
Nice video thank you 🙏🏼
@guilhermelopes7809
@guilhermelopes7809 3 жыл бұрын
VERY good explanation. Thanks a lot for sharing this with us!
@SEOTADEO
@SEOTADEO 3 жыл бұрын
Thanks for this great video! Coding is easy, but designing a good architecture is quite a challenge.
@tranntn
@tranntn 3 жыл бұрын
such a elaborate explanation video
@mvip4927
@mvip4927 2 жыл бұрын
Still working as of today! Thank you!
@gabrielgouvea4274
@gabrielgouvea4274 4 жыл бұрын
Great. There's an "flutter modular" that is very similar, if not the same approach. The difference is that they call it modules and not features. Also, has it has a package the are some routing and DI included along side with the pattern. I will watch the playlist, this kind of stuff is really good when the app start to grow. Thanks
@youtubeshortssssss3333
@youtubeshortssssss3333 2 жыл бұрын
thanks, it actually let me through so i could download it.
@spiderion1
@spiderion1 5 жыл бұрын
I was following this course and implementing whatever was suggested in these 14 videos as it seemed to be amazing ... Then I wanted to dig more into the clean architecture and understand what was actually about. By watching the Unkle's Bob videos I could quickly understand that many things in this course were not actually following unkles bob concepts. One of those is widely using libraries. The purpose of Clean architecture is to keep everything segregated. This is not meant just between the objects inside our app but also from outside world libraries... dartz , get_it , flutter_bloc don't bring that many advantages. I can't see why we should use them. Conclusion: I am happy with the things that I have learned from this course "example unit testing and segregation of classes" but extremely unhappy with the overuse of libraries ... Now I need to rework my project as I have some problems with the flutter block and the way it works. Likely I didn't use get_it , the inheritedWidget works fine.
@ResoCoder
@ResoCoder 5 жыл бұрын
I can't argue with your findings. I just like to be somewhat practical and use libraries where they may help us. Thanks for watching the series!
@liorpolak1391
@liorpolak1391 3 жыл бұрын
Outstanding explanation!
@yanuyusuf7721
@yanuyusuf7721 5 жыл бұрын
This is what I need. Love it, big thanks, excellent work dude!
@umidjonshoniyozov162
@umidjonshoniyozov162 5 жыл бұрын
its amazing and usuful thanks.Keep up the good work!
@TaweechaiMaklay
@TaweechaiMaklay 5 жыл бұрын
Cool guy, looking forward to seeing the next lesson.
@mazenalsakkaf
@mazenalsakkaf 5 жыл бұрын
This is cool stuff. Keep it up. I am learning something good here. Cheers
@pathakvivek7865
@pathakvivek7865 5 жыл бұрын
feeling excited to learn such architecture pattern. Thank you so much, sir!
@aniketshukla540
@aniketshukla540 5 жыл бұрын
sahi kaha
@pathakvivek7865
@pathakvivek7865 5 жыл бұрын
@@aniketshukla540 thank you!
@JJ-vm6wg
@JJ-vm6wg 4 жыл бұрын
Really really nice work! Thanks so much.
@johannb852
@johannb852 5 жыл бұрын
Very nice video; waiting for the next one ;) If you have shared widgets across multiples features, would you prefer to put them somewhere in core or create a shared folder in feature? I would put them in a shared folder as my widgets might have the need for state management or access data Small edit: in your written blog post you don't speak about core folder at all.
2 жыл бұрын
Thank you so much! This was super clear.
@aaronsantano238
@aaronsantano238 4 жыл бұрын
Hey Reso ! Amazing content I think you should make a video explaining the sequence of videos a person should watch that you have uploaded to be a good flutter developer
@pringstom
@pringstom 3 жыл бұрын
thanks bro, im Peruvian
@tannerhoughton6233
@tannerhoughton6233 4 жыл бұрын
VERY HELPFUL!! Thank you 🙌🏼
@aladdin8494
@aladdin8494 5 жыл бұрын
You are doing a great work man keep going 😀
@sayurusandaru5546
@sayurusandaru5546 2 жыл бұрын
Hey, I love this video series and now I am using this architecture pattern for all of my apps. It makes it easier in reading and manages the code for larger projects. But I found that this pattern is less effective for only client-side-based apps like trivia apps, image editing apps, and todo apps. What architecture would you suggest for these types of applications? Please make a video series on that
@alihazem1479
@alihazem1479 2 жыл бұрын
I'm currently working on a todo app and was going to watch this course, did you find an answer to your question?
@louisphillipedubois659
@louisphillipedubois659 5 жыл бұрын
Hi, first of all, thank you for the amazing content that you provide. Since I'm talking about provide, I'd like to know if you could make a video explaining the main differences about provide and bloc, or at least point me to a direction where I can understand when would be better use one than the other. Thank you very much. I'll be watching your amazing videos.
@amanmalhotra4512
@amanmalhotra4512 2 жыл бұрын
after 3 years what would you change in the layering/state management/separation that you proposed here ?
@ayoubelbadaoui7000
@ayoubelbadaoui7000 3 жыл бұрын
why your courses are not premium ?? this is a an entreprise level apps architecture you are providing for free ??this is historical thank you from the bottom of my heart
@lalolalo8995
@lalolalo8995 4 жыл бұрын
Thanks, tuto is very clean
@leomaiadev
@leomaiadev 3 жыл бұрын
What an amazing content
@capungfly5352
@capungfly5352 4 жыл бұрын
Amazing bro thanks
@mual77
@mual77 5 жыл бұрын
Good job. Keep up the good work!!
@dawidniegrebecki2205
@dawidniegrebecki2205 4 жыл бұрын
Great video!!!
@eduardorabanal2803
@eduardorabanal2803 5 жыл бұрын
thanks a lot bro, this videos are awesome
@posis9606
@posis9606 4 жыл бұрын
You are awesome. Thank you for all this knowledge. (Y)
@mrdavidrees
@mrdavidrees 5 жыл бұрын
Interested for the next part to see how the design holds up in a larger more complex app. I’ve seen really similar designs in a web service, but I’m worried that doing things like showing data from a cached source before responding with the updated data from an api will be difficult because the repo is separated from the bloc and the domain has to pass the update through.
@Рюрик-л2к
@Рюрик-л2к 5 жыл бұрын
How to separate app by features if we have auth use case? We must to make Auth feature and use this feature in others to get info about user?
@anshpathania1816
@anshpathania1816 4 жыл бұрын
Yeah, Use auth verification in both backend and frontend, to ensure only authenticated users get access to it .
@Рюрик-л2к
@Рюрик-л2к 4 жыл бұрын
@@anshpathania1816 My question was different. My question was what features need to be created for authorization. Now I realized that I need to create separate features for authorization and for the user.
@Mayanktaker
@Mayanktaker 4 жыл бұрын
PLEASE make a mini series on DIO.
@Saranwity
@Saranwity 4 жыл бұрын
Amazing, thank you!
@dharmikthakkar3642
@dharmikthakkar3642 3 жыл бұрын
@Reso Coder Great explanation....but I have a question. If I got 2 features then do I have to create all folders again for 2 different features? Like do I have to create 2 data folders, domain and presentation folders?
@KenanYusubov
@KenanYusubov 5 жыл бұрын
Hi. I have question that, we shoud create new feature for each screen or not? because we have pages, widgets for each feature. How do we divide project to features easily?
@borakececi8472
@borakececi8472 Жыл бұрын
Thank you so much
@wulfor3908
@wulfor3908 4 жыл бұрын
Which icon theme are you using for folders in project structure (VS Code)? 😍
@ALIMOIZMOIZ-im3fl
@ALIMOIZMOIZ-im3fl 4 ай бұрын
if i have more features then will we have to add three layers presentation,data and domain layer in each feature folder??
@MihaiMoisei
@MihaiMoisei 5 жыл бұрын
Thanks for the explanation.
@Mahdi-td2ht
@Mahdi-td2ht 3 жыл бұрын
Very Helpful. I have a question! There is a features folder in your folder structure and you built a small app with only one feature number_trivia(number_trivia is the name of application and also the name of the feature). What is the folder structure if we have more than one feature? for example "login" and "number_trivia". Should we have two folders inside "features" folder and each folder has its three layers?(it means number_trivia inside features folder, is the name of the feature). or we have only one folder named number_trivia inside features folder and it has all login and Number Trivia api requests and ui inside it? (it means number_trivia inside features folder is the name of application)!
@luisv1308
@luisv1308 5 жыл бұрын
Thank you so mucho for this amazing video!
@김영현-l1t1u
@김영현-l1t1u 5 жыл бұрын
I'd like to see how it will be wonderful with the current architecture having applied "streaming architecture" for the structure of directories.
@loicngou9592
@loicngou9592 5 жыл бұрын
Thanks a lot , nice explanation
@mohamedel-helbawy2452
@mohamedel-helbawy2452 4 жыл бұрын
amazing ❤
@himanshudhakecha1789
@himanshudhakecha1789 5 жыл бұрын
Thank you. Its great
@OttoAkama
@OttoAkama 3 жыл бұрын
I think we could name repositories in domain layer: abstract_repo and the one in the data layer to be: repo_implements. It could be easy to understand the differences as such. My beginner opinion.
@PAD637
@PAD637 2 жыл бұрын
I think you'd normally prefix the abstract repo with "I" so it would "IRepo", and the implmenetation would just be "Repo", and if you were to look at that repo, you'd see that the class declaration would have something that looks like this "class Repo implements IRepo"
@SkyFallsLegion
@SkyFallsLegion 5 жыл бұрын
What categorizes as a 'feature'?
@heshankumarasinghe3159
@heshankumarasinghe3159 2 жыл бұрын
Thanks for the vid
@francescoandreuzzi113
@francescoandreuzzi113 5 жыл бұрын
Nice video!
@jasjastone
@jasjastone 11 ай бұрын
I just started view this tutorial i know it's old but trust me this stuff are amazing, the only down side in my opinion is the use of bloc i wanted it to be riverpod but anyways i could just adapt to riverpod thanks man you got my sub for this thanks
@tudorm6838
@tudorm6838 5 жыл бұрын
ime Clean Architecture is rather hexagonal, not linear as Presentation-> Business-> Persistence. Of course, in the "hexagon" we will find this PBP viewpoint. Presentation-> Business-> Persistence is the "father" of Clean Architecture.
@vOnez212
@vOnez212 5 жыл бұрын
This is great! Thank you!
@ronytesler
@ronytesler 3 жыл бұрын
Are all episodes updated for today? For example, do you take into consideration the 'provider' package?
@josephsantos1783
@josephsantos1783 4 жыл бұрын
So, the features is every "Feature" of an entire app? For example, a feature can be a "login" screen, another feature is "home" and all of these features should be separated in folders and every folder contain all of these folders (data, domain, presentation, etc).
@CodingWithBinaryGeek-bf1sp
@CodingWithBinaryGeek-bf1sp 7 ай бұрын
Which icon theme are you using
@Mychel272
@Mychel272 4 жыл бұрын
What's the best approach to create an application offline/online ( with api connection and database local )
@aytunch
@aytunch 5 жыл бұрын
Thanks for starting a series like this:D I will try to adopt your methodology. However you did not talk about testing at all in this video?
@ResoCoder
@ResoCoder 5 жыл бұрын
Wait for the next part! We'll start with implementing the domain layer.
@davidagyakwa288
@davidagyakwa288 4 жыл бұрын
I wish there was another clean architecture example...one that involves login ,retrieving info on database and some user feature...the tutorial is good ....but I feel like it didn't completely explain doman in dept
@faheemahmad3957
@faheemahmad3957 Жыл бұрын
kindly redo this! also please do GO ROUTER, cubit and firebase and clean architecture and social LOGIN
@alejandroulatefallas3011
@alejandroulatefallas3011 5 жыл бұрын
I stumbled upon the channel by accident, glad I did! Nice stuff!! I do, however have a question. Usually when you go to Clean you end up placing your Business Logic inside your domain so you can eventually reuse it, this (for me) meant that your BLoCs should be a part of that domain layer, however you place them within the Presentation Layer, what is your main reason? My guess is that since it is updating the UI like a Viewmodel would do then you are placing it with the screen/view that it is working with. Again, nice channel and tuts.
@ResoCoder
@ResoCoder 5 жыл бұрын
Exactly, BLoCs are are practically regarded as ViewModels in this architecture.
@MarioDaglio
@MarioDaglio 2 жыл бұрын
Where do you place code to navigate form one page to another? Is a page == a feature? Thanks for the great series, btw
@Smart_773
@Smart_773 Жыл бұрын
did you got the answer? if yes please tell
@MarioDaglio
@MarioDaglio Жыл бұрын
@@Smart_773 this other is much better kzbin.info/www/bejne/iH7Mf2hvrZiofpI
Flutter TDD Clean Architecture Course [2] - Entities & Use Cases
40:23
Flutter Clean Architecture - Full Course
1:14:08
Flutter Mapp
Рет қаралды 88 М.
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
Flutter Basic Training - 12 Minute Bootcamp
12:09
Fireship
Рет қаралды 1 МЛН
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 298 М.
This is the Only Right Way to Write React clean-code - SOLID
18:23
10 Signs Your Software Project Is Heading For FAILURE
17:59
Continuous Delivery
Рет қаралды 45 М.
Most overpowered way to build mobile apps?
8:33
Beyond Fireship
Рет қаралды 884 М.
🔴 Companies ask this Flutter Concept in Interviews -CLEAN ARCHITECTURE
10:40