A new Flutter project.
lib/
├── main.dart
├── app/
│ ├── bindings/
│ │ └── initial_binding.dart
│ ├── routes/
│ │ ├── app_pages.dart
│ │ └── app_routes.dart
│ └── themes/
│ └── app_theme.dart
├── data/
│ ├── models/
│ │ ├── medicine_model.dart
│ │ ├── cart_item_model.dart
│ │ └── order_model.dart
│ ├── providers/
│ │ ├── api_provider.dart
│ │ └── local_storage_provider.dart
│ └── repositories/
│ ├── medicine_repository.dart
│ ├── cart_repository.dart
│ └── order_repository.dart
├── domain/
│ ├── entities/
│ │ ├── medicine.dart
│ │ ├── cart_item.dart
│ │ └── order.dart
│ ├── repositories/
│ │ ├── i_medicine_repository.dart
│ │ ├── i_cart_repository.dart
│ │ └── i_order_repository.dart
│ └── usecases/
│ ├── get_medicines_usecase.dart
│ ├── add_to_cart_usecase.dart
│ └── place_order_usecase.dart
└── presentation/
├── controllers/
│ ├── medicine_controller.dart
│ ├── cart_controller.dart
│ └── order_controller.dart
├── pages/
│ ├── home/
│ │ ├── home_page.dart
│ │ └── widgets/
│ ├── product_detail/
│ │ ├── product_detail_page.dart
│ │ └── widgets/
│ ├── cart/
│ │ ├── cart_page.dart
│ │ └── widgets/
│ └── orders/
│ ├── order_history_page.dart
│ └── widgets/
└── widgets/
└── common/
assets/
├── data/
│ └── medicines.json
└── images/
└── medicine_placeholder.png
- Models (JSON serialization)
- Providers (API calls, local storage)
- Repository implementations
- Entities (business objects)
- Repository interfaces
- Use cases (business logic)
- Controllers (GetX controllers for state management)
- Pages (UI screens)
- Widgets (reusable UI components)
- Bindings (dependency injection)
- Routes (navigation)
- Themes (app styling)
This structure follows:
- ✅ Clean Architecture principles
- ✅ MVVM pattern with GetX
- ✅ Separation of concerns
- ✅ Dependency inversion
- ✅ Testable architecture
🎨 UI/UX Features
- Clean, Material Design interface
- Mobile-friendly responsive layout
- Stock status indicators with color coding
- Loading states and error handling
- Smooth animations and transitions
- Cart badge with item count
- Search and filter chips
Run the app:
- flutter pub get
- flutter run



