办公商店应用?

Office Furniture Store app 是由 Mansuriosdev 设计的 Office Furniture Store 应用的设计实现。

截图

预览 列表画面 详情页面 购物车页

?特点

• Three 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

目录结构 (GetX 版本)

?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

目录结构 (Cubit 版本)

?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

目录结构(Bloc 版本)

?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

目录结构(Provider 版本)

?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

Pull Requests

我欢迎并鼓励所有拉取请求。我通常会在 48-72 小时内回复任何问题或请求。

依赖项

名称 Cubit 版本 Bloc 版本 GetX 版本 Provider 版本
flutter_bloc ✔️ ✔️ ✖️ ✖️
GetX ✖️ ✖️ ✔️ ✖️
provider ✖️ ✖️ ✖️ ✔️
flutter_hooks ✔️ ✔️ ✖️ ✔️
equatable ✔️ ✔️ ✖️ ✔️
smooth_page_indicator ✔️ ✔️ ✔️ ✔️
flutter_rating_bar ✔️ ✔️ ✔️ ✔️
simple_animations ✔️ ✔️ ✔️ ✔️

创建和维护者

Mansurisodev

GitHub

查看 Github