A modern E-Commerce mobile application built with Flutter 🐦, applying Clean Architecture, Cubit (BLoC) state management, Dio + Retrofit networking, and robust API error handling.
This app provides a smooth shopping experience — from authentication to browsing products, viewing details, managing the cart, and checking reviews.
This project demonstrates a scalable and maintainable architecture following the principles of Clean Architecture 🧱 and Separation of Concerns.
It’s designed to be easy to extend, test, and maintain.
-
Data Layer:
Contains models, DTOs, API services, and repository implementations that fetch or persist data.
(e.g. using Dio + Retrofit for networking) -
Domain Layer:
The core business logic — independent from Flutter.
Includes entities and use cases (interactors) that define app rules. -
Presentation Layer:
Responsible for UI and state management using Cubit (Bloc).
It reacts to state changes and displays the appropriate widgets.
✅ Benefits:
- Reusable and testable code
- Easy maintenance
- Flexible and scalable for future features
-
🔐 Authentication
- Login, Register, and Verify Account screens
-
🏠 Home Page
- Dynamic Offers, Categories, and Product listing
-
🛒 Cart Management
- Add / Remove items
- Display total and checkout summary
-
⭐ Product Details
- View product info, price, and description
-
💬 Reviews Page
- List of user reviews
-
⚙️ Clean Architecture + Cubit + Retrofit + Dio
- Robust error handling
- Clear separation of layers
| Splash | OnBoarding | Login | Home | Details | Reviews |
|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
📱 Coming soon...
- Flutter SDK: 3.32.0
- Dart SDK: 3.8.0
- Android Studio or VS Code
- Clone the repository
git clone https://github.com/yourusername/flutter_ecommerce_app.git cd flutter_ecommerce_app - Install dependencies
flutter pub get- Run The app
flutter run- Generate Retrofit files
flutter pub run build_runner build --delete-conflicting-outputs| Category | Technology |
|---|---|
| Framework | Flutter 3.32.0 |
| Language | Dart 3.8.0 |
| State Management | Cubit (Bloc) |
| Networking | Dio + Retrofit |
| Architecture | Clean Architecture |
| Dependency Injection | get_it / injectable |
| Error Handling | Custom APIErrorModel |
| Routing | AppRouter |
Israa Essa
💼 Mobile Application Developer
🌐 Portfolio: [https://www.linkedin.com/in/israa-essa-3b5644384]
💻 GitHub: [Israa050]
This project is licensed under the MIT License.





