my_enterprise_app/
├── lib/
│ ├── app/
│ │ ├── app.dart # App initialization
│ │ ├── di/ # Dependency injection
│ │ └── navigation/ # App-wide navigation service
│ ├── core/
│ │ ├── config/ # Environment configs
│ │ ├── constants/ # App constants
│ │ ├── exceptions/ # Custom exceptions
│ │ ├── services/ # Core services (auth, analytics, etc.)
│ │ ├── theme/ # App-wide theming
│ │ └── utils/ # Shared utilities
│ ├── features/ # Feature-first modules
│ │ ├── auth/ # Authentication feature
│ │ │ ├── data/
│ │ │ │ ├── datasources/ # Remote/local data sources
│ │ │ │ ├── models/ # DTOs
│ │ │ │ └── repositories/ # Repository implementations
│ │ │ ├── domain/
│ │ │ │ ├── entities/ # Business entities
│ │ │ │ └── repositories/ # Repository interfaces
│ │ │ ├── presentation/
│ │ │ │ ├── viewmodels/ # View models (MVVM)
│ │ │ │ ├── views/ # UI screens
│ │ │ │ └── widgets/ # Feature-specific widgets
│ │ │ └── auth_module.dart # Feature module definition
│ │ ├── dashboard/ # Dashboard feature
│ │ │ ├── ... # Same structure as auth
│ │ └── settings/ # Settings feature
│ │ ├── ... # Same structure as auth
│ ├── platform/ # Platform abstractions
│ │ ├── interfaces/ # Platform service interfaces
│ │ └── implementations/ # Platform-specific implementations
│ │ ├── mobile/ # Mobile implementations
│ │ ├── desktop/ # Desktop implementations
│ │ └── web/ # Web implementations
│ ├── shared/
│ │ ├── models/ # Shared models
│ │ ├── widgets/ # Shared UI components
│ │ └── extensions/ # Extension methods
│ └── main.dart # Entry point
├── test/ # Tests organized by feature
└── platform_specific/ # Platform-specific configurations
Enterprise level folder structure for flutter app supporting all three platforms
Updated on