Skip to content

Repository files navigation

🛍️ F-Store — Flutter E-Commerce App

A modern, fully responsive Flutter e-commerce application with a complete shopping experience and a powerful admin panel.

Flutter Dart Firebase Platform License


📖 Overview

F-Store is a production-grade Flutter e-commerce application built with clean architecture principles and a scalable, feature-driven folder structure. It delivers a seamless shopping experience for customers alongside a fully-featured admin panel for managing the entire store — products, orders, users, and analytics — all in one place.


✨ Features

👤 Customer Side

  • Email login, registration, and forgot password
  • Product categories, subcategories, search, and filtering
  • Product detail screens with image galleries
  • Wishlist and shopping cart management
  • Full checkout and order flow
  • Address and user profile management
  • Dark & light theme support
  • Smooth animations and modern UI
  • Real-time data handling via Firebase

🛠️ Admin Panel

  • Dashboard with sales analytics
  • Product, category, and banner management
  • Order tracking and management
  • User management and inventory tracking
  • Image upload and media management
  • Fully responsive admin interface

📱 Platform Support

Platform Supported
Android
iOS
Tablet
Web
Desktop

🧱 Project Structure

F-Store follows a feature-driven clean architecture with full separation of concerns across every layer — data, domain, and presentation are strictly isolated within each feature module.

lib/
│
├── bindings/                        # Global dependency injection bindings
│   └── general_bindings.dart
│
├── common/                          # Shared across the entire app
│   ├── styles/                      # Global text styles, themes, colors
│   └── widgets/                     # Reusable UI components (buttons, cards, etc.)
│
├── data/                            # Data layer
│   ├── repositories/                # Abstract + concrete repository implementations
│   └── services/                    # External service integrations (Firebase, APIs)
│
├── features/                        # Feature modules (fully self-contained)
│   ├── authentication/              # Login, register, forgot password flows
│   │   ├── controllers/
│   │   ├── models/
│   │   └── screens/
│   ├── personalization/             # User profile, address, settings
│   │   ├── controllers/
│   │   ├── models/
│   │   └── screens/
│   └── shop/                        # Core shopping experience
│       ├── controllers/             # Cart, wishlist, product, order controllers
│       ├── models/                  # Product, order, category, banner models
│       └── screens/                 # Home, product, cart, checkout, orders UI
│
├── localization/                    # Multi-language support
│
├── utils/                           # Utility layer
│   ├── constants/                   # App-wide constants (colors, sizes, strings)
│   ├── device/                      # Device info and platform helpers
│   ├── exceptions/                  # Custom exception classes
│   ├── formatters/                  # Date, currency, text formatters
│   ├── helpers/                     # General helper functions
│   ├── http/                        # HTTP client configuration
│   ├── local_storage/               # Local persistence (SharedPreferences, Hive)
│   ├── logging/                     # App-wide logging utilities
│   ├── network/                     # Network status and connectivity
│   ├── popups/                      # Dialogs, snackbars, loaders
│   ├── theme/                       # Light & dark theme configuration
│   └── validators/                  # Form and input validation logic
│
├── app.dart                         # App root widget
├── firebase_options.dart            # Firebase configuration
├── main.dart                        # Entry point
└── navigation_menu.dart             # Bottom navigation controller

🔥 Firebase Services

Service Usage
Firebase Authentication User login, registration, password reset
Cloud Firestore Products, orders, users, categories
Firebase Storage Product images and media uploads
Firebase Realtime Database Live inventory and order status

🛠️ Tech Stack

Layer Technology
Framework Flutter
Language Dart
State Management GetX
Backend Firebase
Local Storage SharedPreferences / Hive
Architecture Clean Architecture + Feature-Driven

🚀 Installation

Prerequisites

Setup

# 1. Clone the repository
git clone https://github.com/farixdev/shop.git
cd shop

# 2. Install dependencies
flutter pub get

# 3. Add Firebase config files
# Android → android/app/google-services.json
# iOS     → ios/Runner/GoogleService-Info.plist

# 4. Run the app
flutter run

🤝 Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.


📜 License

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


👤 Author

Made with 🖤 by Farisxdev


Found this useful? Drop a ⭐ on GitHub — it helps a lot!

About

F-Store is a production-grade Flutter e-commerce application with a clean, feature-driven architecture, offering a complete shopping experience for users along with a powerful admin panel for managing products, orders, users, and analytics.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages