ShehanUdantha/clean_architecture_digital_marketplace
使用 Bloc、Firebase 和 Stripe 在 Flutter 中开发一个采用干净架构的电子商务应用。
- Stars
- 117
- Forks
- 17
- 最近推送(UTC)
- 2025年10月19日
- 项目状态
- 未归档
技术话题
使用的依赖
依赖清单 42 项
- cached_network_image
^3.4.0 - connectivity_plus
^6.0.5 - cupertino_icons
^1.0.8 - dartz
^0.10.1 - equatable
^2.0.5 - file_picker
^8.1.7 - cloud_firestore
^5.4.0 - firebase_auth
^5.2.0 - firebase_core
^3.4.0 - firebase_storage
^12.2.0 - firebase_messaging
^15.1.0 - firebase_crashlytics
^4.1.0 - flutter
{"sdk":"flutter"} - flutter_bloc
^9.0.0 - flutter_stripe
^11.3.0 - get_it
^8.0.3 - go_router
^14.2.7 - http
^1.2.2 - iconsax
^0.0.8 - intl
^0.20.2 - uuid
^4.5.0 - permission_handler
^11.3.1 - like_button
^2.0.5 - flutter_local_notifications
^18.0.1 - googleapis
^13.2.0 - googleapis_auth
^1.6.0 - hive
^2.2.3 - path_provider
^2.1.4 - timeago
^3.7.0 - shared_preferences
^2.3.2 - fl_chart
^1.0.0 - envied
^1.0.0 - flutter_localizations
{"sdk":"flutter"} - flutter_lints开发依赖
^5.0.0 - mockito开发依赖
^5.4.4 - build_runner开发依赖
^2.4.13 - flutter_test开发依赖
{"sdk":"flutter"} - envied_generator开发依赖
^1.0.1 - bloc_test开发依赖
^10.0.0 - fake_cloud_firestore开发依赖
^3.1.0 - firebase_storage_mocks开发依赖
^0.7.0 - mock_exceptions开发依赖
^0.8.2
所在榜单
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
展开 / 收起项目 README
Clean Architecture Flutter E-Commerce App
Project Setup
Before you run the project, make sure to follow the steps below to properly set up the environment, generate necessary files, and run the tests.
1. Setup the .env file
You need to set up the .env file in the root directory of the project with your environment-specific variables.
Example:
Create a .env file in the root directory and include the following keys (replace with your values):
STRIPE_TEST_PUBLISHABLE_KEY=your_publishable_key
STRIPE_TEST_SECRET_KEY=your_secret_key
2. Generate Required Files
Run the following command to generate the necessary files (e.g., mocks, code related to the environment variables):
dart run build_runner build
3. (Optional) Configure Firebase Service Account for Push Notifications
If you wish to enable push notifications, you need to configure the 'firebaseServiceAccountJson' used in the project.
All setup instructions are included directly in the file:
core/constants/firebase_values.dart
Make sure to follow the comments inside that file to generate and insert your Firebase service account values correctly.
Features
User View
- View Products
- Search Products
- Add Products to Cart
- Purchase Products
- Add to Favorites
- View Purchase History
- Download Purchased Products
- View Notifications
- Change Theme
- Change Language
Admin View
- Access Admin Dashboard
- Manage Products
- Manage Categories
- Manage Users
- Manage Notifications
- Change Theme
- Change Language
Screenshots
Auth View
https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/sign_in.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/sign_up.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/email_verify.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/forgot_password.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/email_reset.jpg
User View
https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/user_home.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/search_product.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/view_all_product.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/product_view_1.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/product_view_2.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/empty_cart.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/cart.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/payment.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/purchase_history.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/purchase_products.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/notifications.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/user_profile.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/settings.jpg
Admin View
https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/admin_dashboard.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/admin_tools.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/product_manage.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/product_add.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/category_manage.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/users_manage.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/notification_manage.jpg https://raw.githubusercontent.com/ShehanUdantha/clean_architecture_digital_marketplace/HEAD/screenshots/admin_profile.jpg
All product images used in this app are for educational purposes only.