Skip to content

The E-commerce Flower App is a comprehensive mobile application built with Flutter that enables users to browse and purchase flower products. This document provides a high-level overview of the application's architecture, key features, and core systems to help developers understand the codebase.

License

Notifications You must be signed in to change notification settings

ahmedelazab1220/ecommerce_flower_app

Repository files navigation

Dart Flutter Figma Android Studio Visual Studio Code Git GitHub Slack Ask DeepWiki

Overview

The E-commerce Flower App is a comprehensive mobile application built with Flutter that enables users to browse and purchase flower products. This document provides a high-level overview of the application's architecture, key features, and core systems to help developers understand the codebase.

Purpose and Scope

This overview covers the fundamental structure of the application, its architectural patterns, and the interaction between core components. It serves as an entry point for understanding how various features like authentication, product browsing, shopping cart, and checkout functionality are organized and connected. For detailed information about specific subsystems, refer to the dedicated wiki pages mentioned throughout this document.

Application Architecture

The application follows a clean architecture approach with clear separation of concerns across multiple layers. This ensures maintainability, testability, and scalability of the codebase.

Application-Architecture

Sources:

Technology Stack

The application leverages a variety of modern libraries and frameworks:

category Technologies
UI Framework Flutter
State Management Flutter BLoC/Cubit
Dependency Injection GetIt & Injectable
Network Communication Dio & Retrofit
Local Storage Flutter Secure Storage, Shared Preferences, Hive
Analytics & Monitoring Firebase Analytics, Firebase Crashlytics
Localization Easy Localization
UI Components Flutter SVG, Cached Network Image, Carousel Slider
Location Services Geocoding, Location
Other Utilities Logger, Flutter ScreenUtil, Flutter Slidable

Sources:

App Initialization Flow

The application follows a structured initialization process to ensure all required components are properly set up before presenting the UI to the user.

App-Initialization-Flow

Sources:

Demo Video

🌸 E-commerce Flower App Demo | Flutter Clean Architecture | Arabic & English Support

Demo Video

Key Features and Modules

The application is organized into feature modules, each responsible for a specific functionality. The diagram below shows the main features and their relationships.

Key-Features-and-Modules

Sources:

State Management Pattern

The application uses the BLoC/Cubit pattern for state management, providing a unidirectional data flow that makes the app's state predictable and maintainable.

State-Management-Pattern

Sources:

Dependency Injection System

The application uses GetIt and the Injectable package for dependency injection, allowing for loose coupling between components and easier testing.

Dependency-Injection-System

Sources:

Localization System

The application supports multiple languages (English and Arabic) through easy_localization, allowing for seamless language switching.

Localization-System

Sources:

Navigation System

The application uses Flutter's navigation system with named routes, providing a structured way to navigate between screens.

Navigation-System

Sources:

Network Layer

The application communicates with backend services through a structured network layer using Dio and Retrofit.

Network-Layer

Sources:

Summary

The E-commerce Flower App is a well-structured Flutter application following clean architecture principles. It separates concerns into distinct layers (presentation, domain, data) and uses modern patterns and libraries for state management, dependency injection, and API communication. The app supports multiple languages and provides a comprehensive set of features for browsing and purchasing flower products.

Sources:

License

This project is licensed under the Apache 2.0 License – see the LICENSE file for details.

About

The E-commerce Flower App is a comprehensive mobile application built with Flutter that enables users to browse and purchase flower products. This document provides a high-level overview of the application's architecture, key features, and core systems to help developers understand the codebase.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •