/flutter_office_furniture_store_app

Flutter Office furniture store app using GetX | bloc | cubit and hooks

Primary LanguageDartBSD 2-Clause "Simplified" LicenseBSD-2-Clause

office_furniture_store_app

Office Furniture Store app is a design implementation of Office Furniture Store app designed by Jonatan


GetX | Cubit + flutter hooks | Bloc + flutter hooks

There are Three different implementations : 1 : Getx version , 2: Cubit + hooks version , 3: Bloc + hooks version
• You can access Getx version from master branch (here)
• You can access Cubit + flutter hooks version from cubit branch (here)
• You can access Bloc + flutter hooks version from bloc branch (here)


Screenshots

Preview List screen Detail Screen Cart Screen

🚀 Features :

• 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

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 + hooks 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
     └────📂cubit
          |──furniture_cubit.dart
          └──furniture_state.dart

Directory Structure (Bloc + hooks 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
     └────📂bloc
          |──furniture_bloc.dart
          |──furniture_event.dart
          └──furniture_state.dart

Pull Requests

I welcome and encourage all pull requests. It usually will take me within 48-72 hours to respond to any issue or request.


Dependencies

Name Cubit + hooks
version
Bloc + hooks
version
GetX
version
flutter_bloc ✔️ ✔️ ✖️
GetX ✖️ ✖️ ✔️
flutter_hooks ✔️ ✔️ ✖️
equatable ✔️ ✔️ ✖️
smooth_page_indicator ✔️ ✔️ ✔️
flutter_rating_bar ✔️ ✔️ ✔️
simple_animations ✔️ ✔️ ✔️

Created & Maintained By

SinaSys


My other flutter projects

project
Japanese restaurant app
Ecommerce app