Clean Architecture is the blueprint for a modular system, which strictly follows the design principle called separation of concerns. More specifically, this style of architecture focuses on dividing software into layers, to simplify the development and maintenance of the system itself. When layers are well-separated, individual pieces can be reused, as well as developed and updated independently.
In this course you will make an entire application from scratch using Clean Architecture and Bloc and Cubit state management. You will also incorporate REST API using two different packages Http and Dio. And you will learn about Dependency Injection and how to make it simple using get_it package. You will learn about file structure of a real world application and how to make your code scalable and modular.
The clean architecture will divide the Flutter project into 3 main layers, namely:
Presentation Layer
The presentation layer consists of the code to access the data of the app from a repository. Also, there is the code for state management such as providers, BLoC, and so on.
Domain Layer
The domain layer is the deepest in the clean architecture. This layer contains the code for business logic applications such as entities and use cases.
Data layer
The data layer is located at the outermost layer. This layer consists of data source code such as consume Rest API, access to the local database, Firebase, or other sources. Also, on this layer, there is usually the platform code that builds up the UI (widgets).
377
11
TAKE THIS COURSE