SinaSys/flutter_office_furniture_store_app
🎲 使用 GetX | bloc | cubit | Provider | riverpod 的 Flutter 办公家具商店应用
- Stars
- 214
- Forks
- 48
- 最近推送(UTC)
- 2026年6月26日
- 项目状态
- 未归档
技术话题
使用的依赖
依赖清单 8 项
- flutter
{"sdk":"flutter"} - get
^4.6.6 - smooth_page_indicator
^1.1.0 - flutter_rating_bar
^4.0.1 - font_awesome_flutter
^11.0.0 - simple_animations
^5.0.2 - flutter_test开发依赖
{"sdk":"flutter"} - flutter_lints开发依赖
^6.0.0
所在榜单
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
展开 / 收起项目 README
office_furniture_store_app
https://img.shields.io/github/stars/SinaSys/flutter_office_furniture_store_app https://img.shields.io/github/forks/SinaSys/flutter_office_furniture_store_app https://img.shields.io/github/actions/workflow/status/SinaSys/flutter_office_furniture_store_app/main.yml?branch=master&label=CI%20&logo=github https://img.shields.io/github/v/release/SinaSys/flutter_office_furniture_store_app?label=Release&logo=semantic-release https://img.shields.io/github/last-commit/SinaSys/flutter_office_furniture_store_app?label=Last%20commit
Office Furniture Store app is a design implementation of Office Furniture Store app designed by Jonatan
https://github.com/SinaSys/flutter_office_furniture_store_app/blob/master/screenshots/office_furniture_store_app.jpg?raw=true
GetX | Cubit | Bloc | Provider | Riverpod
• Access to different versions
| Version | Bloc | Cubit | Getx | Provider | Riverpod |
|---|---|---|---|---|---|
| Branch | Source (bloc branch)️ |
Source (cubit branch) |
Source (master branch) |
Source (provider branch) |
Source (riverpod branch) |
Screenshots
| Preview | List screen | Detail Screen | Cart Screen |
|---|---|---|---|
| https://github.com/SinaSys/flutter_office_furniture_store_app/blob/master/screenshots/preview.gif?raw=true | https://github.com/SinaSys/flutter_office_furniture_store_app/blob/master/screenshots/office_furniture_list_screen.png?raw=true | https://github.com/SinaSys/flutter_office_furniture_store_app/blob/master/screenshots/office_furniture_detail_screen.png?raw=true | https://github.com/SinaSys/flutter_office_furniture_store_app/blob/master/screenshots/cart_screen.png?raw=true |
🚀 Features :
• Five different implementations
• Display items on list item screen
• Display detail of each item on detail screen
• Hero animation for images when navigate fron list screen to detail screen
• Fade animation for list views
• Select quantity and color for each item
• Display item images using carousel slider
• Add desired item to favorite screen
• Add or delete item to cart
• Clear all itms from cart screen
• Automatically delete single item from cart by set its value to zero
• Real-time calculation of total price in the cart screen
• State management with GetX | cubit | bloc | Provider | Riverpod
Dependencies
| Name | Cubit version |
Bloc version |
GetX version |
provider version |
riverpod version |
|---|---|---|---|---|---|
| flutter_bloc | ✔️ | ✔️ | ✖️ | ✖️ | ✖️ |
| GetX | ✖️ | ✖️ | ✔️ | ✖️ | ✖️ |
| provider | ✖️ | ✖️ | ✖️ | ✔️ | ✖️ |
| flutter_hooks | ✔️ | ✔️ | ✖️ | ✔️ | ✖️ |
| hooks_riverpod | ✖️ | ✖️ | ✖️ | ✖️ | ✔️ |
| equatable | ✔️ | ✔️ | ✖️ | ✔️ | ✔️ |
| smooth_page_indicator | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| flutter_rating_bar | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| simple_animations | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Directory Structure (GetX version)
📂lib
│───main.dart
│───📂core
| │──app_asset.dart
| │──app_color.dart
| │──app_data.dart
| │──app_extension.dart
| │──app_style.dart
| └──app_theme.dart
└───📂src
│────📂model
│ │──bottom_navigation_item.dart
| │──furniture.dart
| └──furniture_color.dart
└────📂view
| │───📂screen
| | |──cart_screen.dart
| | |──favorite_screen.dart
| | |──home_screen.dart
| | |──intro_screen.dart
| | |──office_furniture_detail_screen.dart
| | |──office_furniture_list_screen.dart
| | └──profile_screen.dart
| │───📂widget
| | |──bottom_bar.dart
│ | |──cart_list_view.dart
│ | |──color_picker.dart
│ | |──counter_button.dart
│ | |──empty_widget.dart
│ | |──furniture_list_view.dart
│ | |──fade_in_animation.dart
| | └──rating_bar.dart
└────📂controller
└──office_furniture_controller.dart
Directory Structure (Cubit version)
📂lib
│───main.dart
│───📂core
│ │──app_asset.dart
│ │──app_color.dart
│ │──app_data.dart
│ │──app_extension.dart
│ │──app_style.dart
│ └──app_extension.dart
└───📂src
│────📂data
│ │───📂model
│ │ |──bottom_navigation_item.dart
│ │ |──furniture.dart
│ │ └──furniture_color.dart
│ │───📂repository
│ │ └──repository.dart
└────📂presentation
│ │───📂screen
│ │ |──cart_screen.dart
│ │ |──favorite_screen.dart
│ │ |──home_screen.dart
│ │ |──intro_screen.dart
│ │ |──office_furniture_detail_screen.dart
│ │ |──office_furniture_list_screen.dart
│ │ └──profile_screen.dart
│ │───📂widget
│ │ |──bottom_bar.dart
│ │ |──cart_list_view.dart
│ │ |──color_picker.dart
│ │ |──counter_button.dart
│ │ |──empty_widget.dart
│ │ |──furniture_list_view.dart
│ │ └──rating_bar.dart
│ │───📂animation
│ │ └──fade_in_animation.dart
└────📂business_logic
└───📂cubit
└──📂furniture
|──furniture_cubit.dart
└──furniture_state.dart
Directory Structure (Bloc version)
📂lib
│───main.dart
│───📂core
│ │──app_asset.dart
│ │──app_color.dart
│ │──app_data.dart
│ │──app_extension.dart
│ │──app_style.dart
│ └──app_extension.dart
└───📂src
│────📂data
│ │───📂model
│ │ |──bottom_navigation_item.dart
│ │ |──furniture.dart
│ │ └──furniture_color.dart
│ │───📂repository
│ │ └──repository.dart
└────📂presentation
│ │───📂screen
│ │ |──cart_screen.dart
│ │ |──favorite_screen.dart
│ │ |──home_screen.dart
│ │ |──intro_screen.dart
│ │ |──office_furniture_detail_screen.dart
│ │ |──office_furniture_list_screen.dart
│ │ └──profile_screen.dart
│ │───📂widget
│ │ |──bottom_bar.dart
│ │ |──cart_list_view.dart
│ │ |──color_picker.dart
│ │ |──counter_button.dart
│ │ |──empty_widget.dart
│ │ |──furniture_list_view.dart
│ │ └──rating_bar.dart
│ │───📂animation
│ │ └──fade_in_animation.dart
└────📂business_logic
└───📂bloc
└──📂furniture
|──furniture_bloc.dart
|──furniture_state.dart
└──furniture_event.dart
Directory Structure (Riverpod version)
📂lib
│───main.dart
│───📂core
│ │──app_asset.dart
│ │──app_color.dart
│ │──app_data.dart
│ │──app_extension.dart
│ │──app_style.dart
│ └──app_extension.dart
└───📂src
│────📂data
│ │───📂model
│ │ |──bottom_navigation_item.dart
│ │ |──furniture.dart
│ │ └──furniture_color.dart
│ │───📂repository
│ │ └──repository.dart
└────📂presentation
│ │───📂screen
│ │ |──cart_screen.dart
│ │ |──favorite_screen.dart
│ │ |──home_screen.dart
│ │ |──intro_screen.dart
│ │ |──office_furniture_detail_screen.dart
│ │ |──office_furniture_list_screen.dart
│ │ └──profile_screen.dart
│ │───📂widget
│ │ |──bottom_bar.dart
│ │ |──cart_list_view.dart
│ │ |──color_picker.dart
│ │ |──counter_button.dart
│ │ |──empty_widget.dart
│ │ |──furniture_list_view.dart
│ │ └──rating_bar.dart
│ │───📂animation
│ │ └──fade_in_animation.dart
└────📂business_logic
└───📂provider
|──furniture_provider.dart
└──furniture_state.dart
Directory Structure (Provider version)
📂lib
│───main.dart
│───📂core
│ │──app_asset.dart
│ │──app_color.dart
│ │──app_data.dart
│ │──app_extension.dart
│ │──app_style.dart
│ └──app_extension.dart
└───📂src
│────📂data
│ │───📂model
│ │ |──bottom_navigation_item.dart
│ │ |──furniture.dart
│ │ └──furniture_color.dart
│ │───📂repository
│ │ └──repository.dart
└────📂presentation
│ │───📂screen
│ │ |──cart_screen.dart
│ │ |──favorite_screen.dart
│ │ |──home_screen.dart
│ │ |──intro_screen.dart
│ │ |──office_furniture_detail_screen.dart
│ │ |──office_furniture_list_screen.dart
│ │ └──profile_screen.dart
│ │───📂widget
│ │ |──bottom_bar.dart
│ │ |──cart_list_view.dart
│ │ |──color_picker.dart
│ │ |──counter_button.dart
│ │ |──empty_widget.dart
│ │ |──furniture_list_view.dart
│ │ └──rating_bar.dart
│ │───📂animation
│ │ └──fade_in_animation.dart
└────📂business_logic
└───📂provider
└──📂furniture
|──furniture_provider.dart
└──furniture_state.dart
Created & Maintained By
Other flutter projects
| Project Name | Stars |
|---|---|
| Go rest app | GitHub stars |
| Japanese restaurant app | GitHub stars |
| Ecommerce app | GitHub stars |