An example of riverpod architecture which use "petfinder" api.
The code of the app implements clean architecture to separate the UI, domain and data layers with a feature-first approach for folder structure.
lib
├── core
│ ├── configs
│ ├── exceptions
│ ├── models
│ ├── services
│ │ ├── http
│ │ └── storage
│ └── widgets
├── features
│ ├── pet
│ ├── models
│ ├── providers
│ ├── repositories
│ └── views
│ ├── pages
│ └── widgets
│
├── main.dart
└── pet_app.dart