The project is following the Clean Architecture pattern. The project is divided into 3 layers: data, domain, and presentation. The different layers are separated by folders and each layer has its own dependencies. They are grouped by modules (the different features of the app).
Data Layer: contains entities, the data sources (remote and local), and repository implementations. Domain Layer: contains the use cases and repositoriy definitions. Presentation Layer: contains the UI (pages and pages-specific widgets) and state.
The project is using flutter build_runner to generate the code for the services (using chopper) and the json_serializable to generate the code for the JSON parsing.
To generate the code for the services and the json_serializable, run the following command:
flutter pub run build_runner build
- Download the project or clone the repository.
- Open the project in the IDE.
- Restore the packages by running:
flutter pub get
- Select a device.
- Run the app by executing:
flutter run