I use a MVVM Approach like it is described here https://www.filledstacks.com/post/flutter-architecture-my-provider-implementation-guide/

with the Stacked package

https://pub.dev/packages/stacked

Service Locator (Dependency Injection)

Services - Repositories

All data is stored in repositories and also most of the logic will be done here. View Models just call the required functions from services or repositories.

Views

The folder /views holds Screens and View Models

Routing

Routing is done with the help of Get → https://pub.dev/packages/get