A Fashion eCommerce app built with Flutter

Fashion App

Description

The eCommerce Fashion Flutter app is a mobile application designed to provide users with a seamless and convenient shopping experience for clothing items. With a user-friendly interface and a wide range of clothing categories, the app aims to cater to fashion enthusiasts and shoppers looking for the latest trends and styles.

Key Features

❖ User Authentication and Registration: Users can create accounts, log in securely, and manage their profiles to access personalized features.

❖ Browse and Search: Users can easily explore a diverse selection of clothing items, organized by categories, brands, or price ranges. A search functionality allows for quick and specific item searches.

❖ Product Details: Each clothing item is accompanied by detailed product information, including images, and descriptions.

❖ Shopping Cart Management: Users can add desired items to their shopping carts, view and update the cart contents, and remove items as needed.

❖ Checkout: The app offers a secure and streamlined checkout process.

❖ User Profile Management: Users can manage their personal information, view, and edit their shipping addresses, and update their preferences.

Architecture and Code Organization

Clean Architecture (MVVM) With Bloc State Management

Folder Structure

  • Config
    • app routes, services, cache, and permissions
    • Language Manager.
    • service locator (DI).
  • Controllers
    • All Cubits and blocs.
    • Business Logic.
  • Core
    • error handlers and exceptions.
    • extensions and functions.
    • network information.
    • uilts (contains app Strings, colors, style, assets, and constants).
  • Data
    • Data Source (Remote, Local).
    • Dio Factory.
    • Repository Implementation.
    • Models and Mappers.
  • Domain
    • Entities.
    • Repository Interfaces.
    • Usecases
  • View
    • Screens (Contain All UI Screens, Pages, Own Widgets).
    • Widgets.
    • State Renderer.

Screens

  • Splash.

  • On Boarding.

  • Authentication

    • Registration
    • Login with E-mail & Password.
    • Login with Facebook.
    • Login With Google.
    • Forget Password.
    • Logout.
  • Home

    • Products List view show freshness clothing items by category.
    • The profile page contains account information.
    • The Catalog Page Categorize clothing for men and women.
  • Search

    • searching for clothing items by category, brand, or price range.
  • Categories

    • show clothing items by category and Filtering items.
  • Product Details

    • Each clothing item is accompanied by detailed product information.
  • Favorites

    • Contains favorites Products.
    • Shopping Cart
    • Add to Cart functionality.
    • Remove from Cart.
  • Checkout

    • Set Address Location.
    • Swipe for payment.
  • Delivery Address

    • Add, Delete, and Update Address.
    • Pick Location from google map.
  • Settings

    • Change App Language.
    • Enable dark mode.
    • Update user profile.
  • Notifications.

  • About Us.

  • Privacy Policy.

Login & Registration

Home & Menu Side Bar

Product Detail & Categories & Search

Cart & Checkout & Payment

Delivey Address & Account & General Settings

Favourites & About & App Rate

Features and Functionality

  • User authentication and registration.
  • RESTful APIs.
  • Integrated with Firebase Backend.
  • Stripe Integration for Payment Support.
  • Browsing and searching for clothing items by category, brand, or price range.
  • Product details page with images, descriptions, and customer reviews.
  • Shopping cart management and adding/removing items.
  • Delivery Address adding / removing /updating Address.
  • Google Map /get your current Location.
  • Secure checkout process with payment.
  • Favorites functionality.
  • User profile management.
  • Support multiple language (Arabic, English).
  • Support dark mode.
  • Edit Profile Account.
  • Settings.
  • Drawer Menu.
  • Backend
    • Database system with Firebase Firestore.
    • User management with Firebase Authentication
    • Photo storage with Firebase Storage.
    • Payments with Stripe SDK.

Packages

  • flutter_svg: ^2.0.6
  • flutter_bloc: ^8.1.3
  • get_it: ^7.6.0
  • firebase_core: ^2.13.1
  • firebase_auth: ^4.6.2
  • google_sign_in: ^6.1.3
  • flutter_facebook_auth: ^5.0.11
  • flutter_advanced_drawer: ^1.3.5
  • equatable: ^2.0.5
  • dartz: ^0.10.1
  • shared_preferences: ^2.1.2
  • dio: ^5.2.1+1
  • retrofit: ^4.0.1
  • pretty_dio_logger: ^1.3.1
  • cached_network_image: ^3.2.3
  • shimmer: ^3.0.0
  • skeletons: ^0.0.3
  • flutter_slidable: ^3.0.0
  • google_maps_flutter: ^2.3.1
  • geolocator: ^9.0.2
  • geocoding: ^2.1.0
  • lottie: ^2.4.0
  • permission_handler: ^10.3.0
  • page_transition: ^2.0.9
  • smooth_page_indicator: ^1.1.0
  • infinite_scroll_pagination: ^3.2.0
  • flutter_phoenix: ^1.1.1
  • internet_connection_checker: ^1.0.0+1
  • easy_localization: ^3.0.2
  • fluttertoast: ^8.2.2
  • cloud_firestore: ^4.8.2
  • flutter_stripe: ^9.2.2
  • image_picker: ^1.0.1
  • firebase_storage: ^11.2.5
  • flutter_dotenv: ^5.1.0

GitHub

View Github