A modern, feature-rich e-commerce mobile application built with Flutter for selling fresh fruits and seasonal produce. The app provides a seamless shopping experience with bilingual support (Arabic/English) and integrated payment solutions.
- Browse fresh fruits with high-quality images
- Best-selling products section
- Advanced search with history
- Filter & sort products (price, alphabetical)
- Product details with reviews and ratings
- Shopping cart with quantity management
- Favorites/Wishlist functionality
- Cash on delivery
- Online payment via PayPal integration
- Secure checkout process
- Order tracking
- Order history
- Email/Password authentication
- Google Sign-In
- Facebook Sign-In
- Password reset functionality
- Personal profile management
- Change password feature
- Full bilingual support (Arabic/English)
- RTL support for Arabic
- Dynamic language switching
- Localized content and dates
- BLoC pattern implementation
- Hydrated BLoC for persistent state
- Cubit for simpler state management
- Firebase Firestore for backend
- Hive for local caching
- SharedPreferences for user settings
- Favorites stored locally
The app follows Clean Architecture principles with clear separation of concerns:
lib/
βββ core/ # Core functionality
β βββ entities/ # Business entities
β βββ models/ # Data models
β βββ repos/ # Repository interfaces & implementations
β βββ services/ # App services (Firebase, Storage, etc.)
β βββ utils/ # Utilities and helpers
β βββ widgets/ # Reusable widgets
βββ features/ # Feature modules
β βββ authentication/ # Auth features
β βββ home/ # Home & main features
β βββ checkout/ # Payment & checkout
β βββ favorites/ # Favorites management
β βββ search/ # Search functionality
β βββ ... # Other features
βββ generated/ # Generated localization files
- Flutter SDK: Cross-platform development
- Dart: Programming language
flutter_bloc/bloc: State managementhydrated_bloc: Persistent stateequatable: Value equality
firebase_core&firebase_auth: Authenticationcloud_firestore: Cloud databasehive&hive_flutter: Local database
flutter_svg: SVG renderingskeletonizer: Loading skeletonsdots_indicator: Page indicatorsmodal_progress_hud_nsn: Loading overlays
flutter_paypal_payment: PayPal integration
google_sign_in: Google authenticationflutter_facebook_auth: Facebook authentication
intl: Internationalizationflutter_localizations: Flutter localization support
get_it: Dependency injectiondartz: Functional programminguuid: Unique ID generationlogger: Loggingshared_preferences: Key-value storage
- Flutter SDK (3.0.0 or higher)
- Dart SDK (3.0.0 or higher)
- Android Studio / VS Code
- Firebase account
For managing products and orders, please use our admin dashboard:
Dashboard Link: [https://github.com/ahmedasaber/fruit_dashboard]
Features:
- Product management (Add)
- Order tracking and management
users
{
"name": "string",
"email": "string",
"uId": "string"
}products
{
"name": "string",
"code": "string",
"description": "string",
"price": "number",
"imageUrl": "string",
"isFeatured": "boolean",
"expirationsMonth": "number",
"numOfCalories": "number",
"unitAmount": "number",
"isOrganic": "boolean",
"reviews": "array",
"avgRating": "number",
"sellingCount": "number"
}orders
{
"orderId": "string",
"totalPrice": "number",
"uld": "string",
"status": "string",
"date": "string",
"shippingAddressModel": "object",
"orderProducts": "array",
"paymentMethod": "string"
}- Onboarding - Introduction to app features
- Authentication - Login, Register, Forgot Password
- Home - Featured products, Best sellers
- Products - Browse all products with filters
- Product Details - Detailed product information
- Search - Search products with history
- Cart - Shopping cart management
- Checkout - Shipping and payment
- Profile - User profile and settings
- Favorites - Saved products
- Orders - Order history
- Notifications - App notifications
The app uses a custom theme with:
- Primary Color:
#1B5E37(Green) - Secondary Color:
#f4a91f(Orange) - Cairo font family
- Material Design 3 components
To add new translations:
- Edit
lib/l10n/intl_en.arbandlib/l10n/intl_ar.arb - Run code generation:
flutter pub run intl_utils:generateflutter build apk --releaseflutter build ios --releaseAhmed Ashraf
- GitHub: @ahmedasaber
- LinkedIn: Ahmed Asher
For support, email: [email protected].
Made with β€οΈ by Ahmed Ashraf


















