Thanks to visit codestin.com
Credit goes to github.com

Skip to content

sayedmostaf/fruits_hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍎 Fruits E-Commerce App

Fruits E-Commerce App Cover

🌟 A Modern Flutter E-Commerce Experience for Fresh Fruit Shopping 🌟

Flutter Dart Firebase Supabase PayPal

Dive into a vibrant world of fresh fruit shopping with seamless user experience, secure payments, and modern architecture!


🎯 Table of Contents


✨ Key Highlights


Flutter Powered
Cross-platform perfection

Firebase Backend
Real-time & scalable

Secure Payments
PayPal integration

BLoC Architecture
Clean & maintainable

πŸš€ Features

πŸ‘¨β€πŸ’» User Experience

  • πŸ” 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

🎨 Design & Accessibility

  • 🌈 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

πŸ’³ Commerce Features

  • πŸ’° 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

πŸ› οΈ Tech Stack

Category Technology Purpose
Framework Flutter Cross-platform mobile development
Language Dart Primary programming language
Backend Firebase Supabase Database, authentication & real-time features
Payments PayPal Secure payment processing
State Management BLoC Business logic separation
Localization Easy Localization Multi-language support

πŸ“¦ Dependencies

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

πŸ“± Screenshots

β˜€οΈ Light Mode Screenshots (Click to expand)

πŸ” Authentication & Onboarding

Splash Screen Onboarding 1 Onboarding 2 Login Screen
Signup Screen Forgot Password

🏠 Home, Navigation & Search

Home Screen Favorites Filter Products Search
Search Results Empty Search

🍊 Product Display & Reviews

Product Details 1 Product Details 2 Product Reviews Add Review

πŸ›οΈ Cart & Checkout

Cart Empty Cart Clear Cart Dialog Payment Methods
PayPal Payment Address Management Summary

πŸ‘¨β€πŸ’Ό User Profile

User Profile Language Settings Image Picker Change Password

πŸ”” Notifications

All Notifications Notification Details Unread Notifications Empty Notifications

πŸ› οΈ App Utilities

Exit Dialog Sign Out Dialog Privacy Policy Contact

βž• Additional Features

About Us Contact Form Experience Skills
πŸŒ™ Dark Mode Screenshots (Click to expand)

πŸ” Authentication & Onboarding

Splash Screen Login Screen Signup Screen Forgot Password

🏠 Home, Navigation & Search

Home Screen Favorites Filter Products Search
Search Results Empty Search

🍊 Product Display & Reviews

Product Description 1 Product Description 2 Reviews Add Review

πŸ›οΈ Cart & Checkout

Cart Clear Cart Dialog Payment Methods PayPal
Address Summary 1

πŸ‘¨β€πŸ’Ό User Profile

Account 1 Choose Language Select Image Change Password

πŸ”” Notifications

All Notifications Selected Notification Read Notification Empty Notifications

πŸ› οΈ App Utilities

Exit App Dialog Sign Out Dialog Privacy Policy Contact

βž• Additional Features

About Us Let's Connect Experience Skills

πŸ”§ Installation

Prerequisites

  • Flutter SDK (3.0 or higher)
  • Dart SDK (2.18 or higher)
  • Android Studio / VS Code
  • Firebase project
  • Supabase account
  • PayPal Developer account

Quick Start

  1. Clone the Repository

    https://github.com/sayedmostaf/fruits_hub
    cd fruits_hub
  2. Install Dependencies

    flutter pub get
  3. Firebase Setup

    • Create a Firebase project
    • Add your Android/iOS app to the project
    • Download google-services.json (Android) and GoogleService-Info.plist (iOS)
    • Place them in the appropriate directories
  4. Environment Setup

    # Create .env file in root directory
    cp .env.example .env

    Update .env with 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
  5. Run the App

    flutter run

πŸ“– Usage Guide

For Users

  1. Getting Started: Download and install the app, then create your account
  2. Browse Products: Use the search and filter features to find your favorite fruits
  3. Add to Cart: Select quantity and add items to your shopping cart
  4. Secure Checkout: Complete your purchase using PayPal integration
  5. Track Orders: Monitor your order status through notifications

πŸ—οΈ Project Structure

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

🀝 Contributing

We welcome contributions from the community! Here's how you can help make this project even better:

How to Contribute

  1. 🍴 Fork the Repository

    git clone https://github.com/yourusername/fruits_ecommerce_app.git
  2. 🌿 Create a Feature Branch

    git checkout -b feature/amazing-new-feature
  3. πŸ’» Make Your Changes

    • Follow the existing code style and conventions
    • Add tests for new functionality
    • Update documentation as needed
  4. βœ… Test Your Changes

    flutter test
    flutter analyze
  5. πŸ“ Commit Your Changes

    git commit -m "✨ Add amazing new feature"
  6. πŸš€ Push and Create PR

    git push origin feature/amazing-new-feature

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ“¬ Contact

πŸ‘¨β€πŸ’» Developer

Sayed Mostafa
Flutter Developer & Mobile App Architect

LinkedIn Email GitHub

πŸ†˜ Support


🌟 If you found this project helpful, please consider giving it a star! ⭐

Made with ❀️ and Flutter for the fresh fruit community

Visitors


Note: This project is actively maintained and regularly updated. Check the releases page for the latest updates and features.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published