Skip to content

Ritik-Saxena/Onboarding-Screen-using-Bloc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 

Repository files navigation

Onboarding Screen using Bloc
Instagram Instagram

Connect with me on Instagram @ritiksaxenaofficial


This project implements an onboarding screen using the BLoC state management pattern in Flutter. The onboarding screen is typically the first screen that users see when they launch the app for the first time, and it provides an introduction to the app's features and guides users through the initial setup.

Features

  • A sleek and user-friendly onboarding screen design.
  • Multiple screens/pages with customizable content and illustrations.
  • BLoC state management for managing the onboarding flow.
  • Seamless navigation between onboarding screens.
  • Persistent state management to remember the user's onboarding progress.
  • Easy customization and extension for adding new screens.

Screens



Preview



Folder Structure

The project follows a recommended folder structure for better organization and maintainability:

  lib/
|- bloc/
|  |- onboarding_bloc.dart
|  |- onboarding_events.dart
|  |- onboarding_states.dart
|
|- screens/
|  |- login.dart
|  |- onboarding.dart
|
|- main.dart

bloc/: Contains the BLoC implementation for managing the onboarding flow.
screens/: Holds the main onboarding screen widget that orchestrates the flow.


State Management with BLoC

The onboarding screen uses the BLoC (Business Logic Component) pattern for state management. It separates the UI from business logic, making the code more maintainable and testable.

The BLoC classes used in this project are:

OnboardingBloc: Manages the state and handles events related to the onboarding flow.
OnboardingEvent: Represents the different events that can occur during the onboarding process.
OnboardingState: Defines the various states that the onboarding screen can be in.

The OnboardingBloc listens for events, updates the state accordingly, and emits the updated state to the UI. The UI components subscribe to the state changes and update their appearance based on the current state.


Feel free to explore and modify the code to fit your app's requirements!



If you like this repository, do and the repo for more amazing stuff coming soon.


GitHub stars GitHub followers GitHub forks GitHub watchers