Clean Architecture for Flutter

This a sample app that implement Uncle Bob’s Clean Architecture in Flutter.

There are 3 main Layers to help separate the code:

1- Domain.
2- Data.
3- Presentation.

Domain Layer:
defines the business logic of the application and contains UseCases, Domain Entities, and Repository Interfaces.

Data Layer:
responsible for data retrieval and contains APIs, Local Storage, Data objects (Request, Response and DB objects), and the Repository Implementation.

the UI of the application and contains Screens, Widgets and Presentation logic.




If you liked the repo giving it a Star ⭐️.

Before you build this App from source code, please get an ApiKey from
and add your ApiKey in constants.dart file.