This project follows Clean Architecture principles and SOLID design patterns.
chmod
cd .tools && chmod +x generate_model.sh generate_repository.sh generate_structure.sh- Generate Model
./generate_model.sh- Generate Repository
./generate_repository.sh- Generate Structure
./generate_structure.shlib/
├── core/
│ ├── bloc/
│ ├── constants/
│ ├── data/
│ │ ├── network/
│ │ └── share_pref/
│ ├── di/
│ ├── enums/
│ ├── extensions/
│ ├── routing/
│ └── services/
├── data/
│ ├── datasource/
│ │ ├── api/
│ │ └── local/
│ ├── models/
│ └── repositories/
├── domain/
│ ├── entities/
│ ├── repositories/
│ └── usecases/
├── features/
│ ├── auth/
│ │ ├── arguments/
│ │ ├── bloc/
│ │ └── widget/
│ └── home/
│ ├── arguments/
│ ├── bloc/
│ └── widget/
└── widget/
- Install dependencies:
flutter pub get- Generate
dart run build_runner watch -d- Run the app:
flutter runThis project follows Clean Architecture with three main layers:
- Presentation: UI components, BLoC/Cubit for state management
- Domain: Business logic, Use cases, Repository interfaces
- Data: Repository implementations, Data sources, Models
- get_it: Dependency injection
- flutter_bloc: State management
- Follow SOLID principles
- Keep layers independent and maintainable