bloc_structure

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

What is this project?

This project is a simple implementation of Flutter Bloc Architecture. It demonstrates how to use Bloc Architecture in a Flutter application. The project includes the following features:

  • Login and Signup pages
  • Dashboard page
  • List page
  • Bloc architecture
  • API calls
  • Get Storage
  • Image picker
  • Device permissions

How to use this project?

  1. Clone the project
  2. Open the project in Android Studio or VS Code
  3. Run the project on a simulator or a physical device
  4. Use the app to see how Bloc Architecture is implemented

What is Bloc Architecture?

Bloc Architecture is a state management architecture that helps in building scalable and maintainable applications. It helps in separating the business logic of the application from the UI. It is based on the following components:

  • Bloc: A container that holds the state of the app and notifies the UI of any changes in the state.
  • Event: An event is something that happens in the app, such as a button click. It is used to trigger a UI update.
  • State: The state of the app is the data that is stored in the Bloc. It is used to render the UI.

How to use Bloc Architecture in a Flutter application?

  1. Create a Bloc for each feature of the app
  2. Define the events and states for each Bloc
  3. Use the Bloc to update the UI
  4. Use the Bloc to handle events and update the state

What are the benefits of using Bloc Architecture?

  1. Scalability: Bloc Architecture makes it easy to add new features to the app without having to rewrite the existing code.
  2. Maintainability: Bloc Architecture makes it easy to maintain the app because it separates the business logic from the UI.
  3. Reusability: Bloc Architecture makes it easy to reuse the code in different parts of the app.

Libraries

api_calling/api_client
api_calling/api_repo
api_calling/constant
api_calling/response_model
api_calling/session_manager
app_bloc/app_bloc
app_bloc/app_bloc_event
app_bloc/app_bloc_state
app_utils/app_logs
app_utils/common_util_methods
app_utils/image_pick
app_utils/multipart_request
app_utils/notification_handling
app_utils/notification_handling2
app_utils/permission_handling_service
change_password/bloc/change_password_bloc
change_password/bloc/change_password_event
change_password/bloc/change_password_state
change_password/view/changepassword_page
change_password/view/changepassword_view
common_widget/alert_dialog
common_widget/asset_widget
common_widget/body_widget
common_widget/bottom_bar
common_widget/bottom_sheet
common_widget/button_widget
common_widget/chip_view_widget
common_widget/custom_container
common_widget/custom_dropdown
common_widget/custom_file_widget
common_widget/custom_list_widget
common_widget/custom_svg_widget
common_widget/expand_collaspe
common_widget/logout_dialog
common_widget/permission_dialog
common_widget/side_drawer
common_widget/text_input_widget
common_widget/text_widget
dashboard/bloc/dashboard_bloc
dashboard/bloc/dashboard_event
dashboard/bloc/dashboard_state
dashboard/dashboard_view
dashboard/model/drawer_model
forgot_password/bloc/forgot_password_bloc
forgot_password/bloc/forgot_password_event
forgot_password/bloc/forgot_password_state
forgot_password/forgot_password_view
form_bloc/bloc/form_bloc
form_bloc/bloc/form_event
form_bloc/bloc/form_state
list_page/bloc/list_page_bloc
list_page/bloc/list_page_event
list_page/bloc/list_page_state
list_page/list_page_view
login/bloc/login_bloc
login/bloc/login_event
login/bloc/login_state
login/login_view
main
routes/generate_routes
signup/bloc/signup_bloc
signup/bloc/signup_event
signup/bloc/signup_state
signup/signup_view
splash/bloc/splash_bloc
splash/bloc/splash_event
splash/bloc/splash_state
splash/splash_view
style_theme/app_dimension
style_theme/color_resource
style_theme/dark_theme
style_theme/image_resource
style_theme/light_theme
style_theme/string_resource
welcome/bloc/welcome_bloc
welcome/bloc/welcome_event
welcome/bloc/welcome_state
welcome/welcome_view