Dive into a vibrant world of fresh fruit shopping with seamless user experience, secure payments, and modern architecture!
- β¨ Key Highlights
- π Features
- π οΈ Tech Stack
- π± Screenshots
- π§ Installation
- π Usage Guide
- ποΈ Project Structure
- π€ Contributing
- π License
- π¬ Contact
|
Flutter Powered Cross-platform perfection |
Firebase Backend Real-time & scalable |
Secure Payments PayPal integration |
BLoC Architecture Clean & maintainable |
- π Multi-Auth System - Email/Password, Google, and Facebook authentication
- π€ Personalized Profiles - Comprehensive user management with order history and preferences
- π Smart Search & Filters - Advanced product discovery with real-time search suggestions
- π Dynamic Shopping Cart - Real-time updates with instant total calculations and quantity management
- β Review System - Rate and review products with photo uploads and helpful voting
- π Push Notifications - Real-time order updates and promotional alerts
- π Adaptive Themes - Light βοΈ, dark π, and system-based theme switching
- π Multi-Language Support - Arabic πͺπ¬ and English πΊπΈ with RTL/LTR text direction
- π Smooth Animations - Engaging transitions and micro-interactions throughout the app
- π± Responsive Design - Optimized for all screen sizes and orientations
- βΏ Accessibility Ready - Screen reader support and high contrast mode
- π° Smart Discounts - Dynamic pricing with seasonal offers and bulk discounts
- π¦ Order Management - Complete order tracking from cart to delivery
- π³ Secure Checkout - PayPal integration with fraud protection
- π Best Selling Products - Curated selection of popular fruits
- ποΈ Persistent Shopping Cart - Cart items saved across app sessions
dependencies:
animate_do: ^4.2.0
another_flushbar: ^1.12.30
cached_network_image: ^3.4.1
cloud_firestore: ^5.6.7
cupertino_icons: ^1.0.8
dartz: ^0.10.1
dots_indicator: ^4.0.1
easy_localization: ^3.0.7+1
easy_refresh: ^3.4.0
equatable: ^2.0.7
firebase_auth: ^5.5.2
firebase_core: ^3.13.0
firebase_messaging: ^15.2.5
flutter: sdk
flutter_bloc: ^9.1.0
flutter_facebook_auth: ^7.1.1
flutter_local_notifications: ^19.4.0
flutter_localizations: sdk
flutter_paypal_payment: ^1.0.8
flutter_rating_bar: ^4.0.1
flutter_svg: ^2.0.17
flutter_svg_provider: ^1.0.7
flutter_switch: ^0.3.2
get_it: ^8.0.3
google_sign_in: ^6.3.0
hive: ^2.2.3
hive_flutter: ^1.1.0
http: ^1.4.0
image_picker: ^1.1.2
modal_progress_hud_nsn: ^0.5.1
path: ^1.9.1
permission_handler: ^12.0.1
persistent_bottom_nav_bar: ^6.2.1
provider: ^6.1.5
shared_preferences: ^2.5.3
skeletonizer: ^1.4.3
supabase_flutter: ^2.9.1
url_launcher: ^6.3.2
widget_and_text_animator: ^1.1.5- Flutter SDK (3.0 or higher)
- Dart SDK (2.18 or higher)
- Android Studio / VS Code
- Firebase project
- Supabase account
- PayPal Developer account
-
Clone the Repository
https://github.com/sayedmostaf/fruits_hub cd fruits_hub -
Install Dependencies
flutter pub get
-
Firebase Setup
- Create a Firebase project
- Add your Android/iOS app to the project
- Download
google-services.json(Android) andGoogleService-Info.plist(iOS) - Place them in the appropriate directories
-
Environment Setup
# Create .env file in root directory cp .env.example .envUpdate
.envwith your credentials:SUPABASE_URL=your_supabase_url SUPABASE_ANON_KEY=your_supabase_anon_key PAYPAL_CLIENT_ID=your_paypal_client_id PAYPAL_CLIENT_SECRET=your_paypal_client_secret
-
Run the App
flutter run
- Getting Started: Download and install the app, then create your account
- Browse Products: Use the search and filter features to find your favorite fruits
- Add to Cart: Select quantity and add items to your shopping cart
- Secure Checkout: Complete your purchase using PayPal integration
- Track Orders: Monitor your order status through notifications
lib/
βββ π core/
β βββ entities/ # Business entities and domain models
β βββ errors/ # Error handling and custom exceptions
β βββ functions/ # Utility functions and business logic
β βββ locale/ # Localization files and translations
β βββ managers/ # State managers and controllers
β βββ models/ # Data models and DTOs
β βββ repos/ # Repository pattern implementations
β βββ services/ # External services and API integrations
β βββ themes/ # App themes and styling configurations
β βββ utils/ # Helper functions and constants
βββ π features/
β βββ auth/ # Authentication logic and screens
β βββ best_selling/ # Best selling products feature
β βββ checkout/ # Checkout and payment flow
β βββ home/ # Home screen and navigation
β βββ notifications/ # Push notifications management
β βββ on_boarding/ # App onboarding screens
β βββ products/ # Product display and management
β βββ reviews/ # Product reviews and ratings
β βββ search/ # Search and filter functionality
β βββ settings/ # App settings and preferences
β βββ shopping_cart/ # Shopping cart functionality
β βββ splash/ # Splash screen
βββ main.dart # App entry point
We welcome contributions from the community! Here's how you can help make this project even better:
-
π΄ Fork the Repository
git clone https://github.com/yourusername/fruits_ecommerce_app.git
-
πΏ Create a Feature Branch
git checkout -b feature/amazing-new-feature
-
π» Make Your Changes
- Follow the existing code style and conventions
- Add tests for new functionality
- Update documentation as needed
-
β Test Your Changes
flutter test flutter analyze -
π Commit Your Changes
git commit -m "β¨ Add amazing new feature" -
π Push and Create PR
git push origin feature/amazing-new-feature
This project is licensed under the MIT License - see the LICENSE file for details.
Sayed Mostafa
Flutter Developer & Mobile App Architect
- π Documentation: Check our Wiki for detailed guides
- π Bug Reports: Create an Issue
- π‘ Feature Requests: Request a Feature
- π¬ Discussions: Join the Community
Made with β€οΈ and Flutter for the fresh fruit community
Note: This project is actively maintained and regularly updated. Check the releases page for the latest updates and features.