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.