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:)
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!
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!
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!!!
@@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!!
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
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.
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?
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.
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!
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. 💙
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 !!! :-)
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.
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.
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.
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!
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
@@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.
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
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.
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
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.
@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?
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?
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)!
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.
Hello sir ! As u have created feature folder. if i have login, register, edit profile so have to create different folder for each? and having the same stuff(folders) as number trivia folders have?
Hi. Not sure if you will see this comment, but I will ask: I am making an app that periodically refresh data from external API. Where should I put this auto-refresh timer and how to control it better (started to at least)? My guess is that this part should be done inside of BLoC or inside of repository.
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.
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"
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
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).
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.
For each table in my database do I have to create the 3 layers? data, domain and presentation? in the case of working with an api rest, already knowing your model
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:)
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!
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!
Got the job?
Got the job?
got the job?
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!!!
Are you the creator of devRant by any chance?
@@SameenIslam No I am not. Why was I ranting too much :)
@@davidfox4253 haha no it's an app and a pretty funny one at that! Its creator also has the same name as you.
Amazing stuff, as usual. You're literally the best Flutter RUclipsr out there. Keep up the good work!
Thank you very much!
@@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!!
Didn't know Dalinar knew flutter, how's Urithuri ?
@@Manish-cgain OMG what a surprise! Urithiru is great. Gotta watch out for Odium though!
@@dalinarkholin4169 You're putting your newly acquired writing and reading skills to good use 👍
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.
The first person who explained why you have to have both models and entities, great stuff!
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.
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
What an amazing series. I'm so thankful for all of the efforts you put into this series. Keep it up
After watching ton of videos...I finally found yours who took time to go into the depth of things. Thank you
Thank you from Syria, This is literally the corner stone I was looking for.
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.
Perfect explanations, perfect speed. Fantastic job. Best Flutter Tutorial I've seen on RUclips! Hats Off to you Sir!
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!!
ex iOS now Flutter dev here. just found out about this content and amazed by it! Keep up the great work.
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?
i was asking the same question... what did you end up doing?
Same question. Any input @resocoder?
I would use similar structure in core folder to hold those entities shared between features.
when you have to share u have to create an interface to abstract the complex
Did anyone find good structure in this case?
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.
Thanks Jesse! I'm glad you find this valuable.
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!
your illustration is extremely clear and simple
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. 💙
Man, claps to you. Top quality and for free. Thanks for all this content. Really appreciated.
What would I do without this video? Thanks a lot!!
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 !!! :-)
Thank you! The job will surely come - I'm putting all I know out there and I'm good, so you'll be too!
Best video I've ever seen about flutter architecture! Thank you very much for the content!
Well explained in a simple and understandable way, now I understand flutter as pro
The file structures are really awesome and it helps me as a beginner developer, Thanks for the video
really amazing to see this advanced stuff
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.
I was just thinking to get the uncle Bob's clean architecture book and you mentioned him :D
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.
Thanks for this great video! Coding is easy, but designing a good architecture is quite a challenge.
What a good video, it brings a lot to good practices for development with flutter. Greetings from Peru!!
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.
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!
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!
The next Christmas will be in just a few minutes then 😄
VERY good explanation. Thanks a lot for sharing this with us!
thanks, it actually let me through so i could download it.
You made 24 minutes video and I studied it for 3 hours :D
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
This is what I need. Love it, big thanks, excellent work dude!
Still working as of today! Thank you!
its amazing and usuful thanks.Keep up the good work!
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?
Yeah, Use auth verification in both backend and frontend, to ensure only authenticated users get access to it .
@@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.
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
I'm currently working on a todo app and was going to watch this course, did you find an answer to your question?
feeling excited to learn such architecture pattern. Thank you so much, sir!
sahi kaha
@@aniketshukla540 thank you!
amzzing stuff sir, keep the good work up.
Which icon theme are you using for folders in project structure (VS Code)? 😍
Outstanding explanation!
Really really nice work! Thanks so much.
Thank you so much! This was super clear.
VERY HELPFUL!! Thank you 🙌🏼
Cool guy, looking forward to seeing the next lesson.
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.
such a elaborate explanation video
This is cool stuff. Keep it up. I am learning something good here. Cheers
Nice explanation
Nice video thank you 🙏🏼
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
Anyone watching this in 2021? haha
Thanks for this tutorial great content I am new to flutter :)
Where do you place code to navigate form one page to another?
Is a page == a feature?
Thanks for the great series, btw
did you got the answer? if yes please tell
@@Smart_773 this other is much better ruclips.net/video/RMiN59x3uH0/видео.html
You are doing a great work man keep going 😀
thanks a lot bro, this videos are awesome
after 3 years
what would you change in the layering/state management/separation that you proposed here ?
What an amazing series. I would to know what's the theme are you using in vsCode ?
Thanks, tuto is very clean
Thank you so mucho for this amazing video!
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.
Good job. Keep up the good work!!
@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?
Amazing, thank you!
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?
You are awesome. Thank you for all this knowledge. (Y)
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)!
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.
Exactly, BLoCs are are practically regarded as ViewModels in this architecture.
What an amazing content
Are all episodes updated for today? For example, do you take into consideration the 'provider' package?
Great video!!!
Hello sir ! As u have created feature folder. if i have login, register, edit profile so have to create different folder for each?
and having the same stuff(folders) as number trivia folders have?
thanks bro, im Peruvian
Thanks for the explanation.
Hi. Not sure if you will see this comment, but I will ask: I am making an app that periodically refresh data from external API. Where should I put this auto-refresh timer and how to control it better (started to at least)? My guess is that this part should be done inside of BLoC or inside of repository.
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?
Wait for the next part! We'll start with implementing the domain layer.
Amazing bro thanks
That's Great! THX very much!
But link on written tutorial is unavailable and thats make me unhappy 😭.
Maybe there is on another resource?
it is available now, same link. :)
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.
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"
This is great! Thank you!
if i have more features then will we have to add three layers presentation,data and domain layer in each feature folder??
Thank you. Its great
Thanks a lot , nice explanation
How do you make the folders look differently depending on how you name them? What plugin is that?
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
I'd like to see how it will be wonderful with the current architecture having applied "streaming architecture" for the structure of directories.
So i have to put up all those folders for each screen? Like say dashboard, profile, settings or any screen?
amazing ❤
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).
Is this pattern still completely in function or any changes are needed?
What categorizes as a 'feature'?
Thanks for the vid
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.
For each table in my database do I have to create the 3 layers? data, domain and presentation?
in the case of working with an api rest, already knowing your model