A modern, fully responsive Flutter e-commerce application with a complete shopping experience and a powerful admin panel.
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.
- 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
- 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 | Supported |
|---|---|
| Android | ✅ |
| iOS | ✅ |
| Tablet | ✅ |
| Web | ✅ |
| Desktop | ✅ |
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
| 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 |
| Layer | Technology |
|---|---|
| Framework | Flutter |
| Language | Dart |
| State Management | GetX |
| Backend | Firebase |
| Local Storage | SharedPreferences / Hive |
| Architecture | Clean Architecture + Feature-Driven |
- Flutter SDK
3.0+ - Dart
2.17+ - Firebase project configured at console.firebase.google.com
# 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 runContributions are welcome! Feel free to open an issue or submit a pull request.
This project is licensed under the MIT License — see the LICENSE file for details.
Made with 🖤 by Farisxdev
Found this useful? Drop a ⭐ on GitHub — it helps a lot!