Zeba Academy Onboarding
A production-ready Flutter onboarding package for creating beautiful app tours, feature highlights, coach marks, and resumable onboarding experiences.
โจ Features
๐ App Tours
Create guided tours to introduce users to your application.
๐ฏ Feature Highlights
Highlight important UI elements and new features.
๐ก Coach Marks
Provide interactive onboarding overlays with focused attention.
๐พ Resume Support
Automatically remembers completed onboarding using persistent storage.
๐จ Customizable Experience
- Custom titles
- Descriptions
- Icons
- Multiple onboarding steps
- Easy integration
๐ฆ Installation
Add the package to your pubspec.yaml:
dependencies:
zeba_academy_onboarding: ^0.0.1
Run:
flutter pub get
๐ Getting Started
Import the package:
import 'package:zeba_academy_onboarding/zeba_academy_onboarding.dart';
๐ฅ Basic Usage
Create widget keys:
final homeKey = GlobalKey();
final profileKey = GlobalKey();
Create onboarding steps:
final steps = [
OnboardingStep(
key: homeKey,
title: "Home Screen",
description:
"Your dashboard is available here.",
icon: Icons.home,
),
OnboardingStep(
key: profileKey,
title: "Profile",
description:
"Manage your account details here.",
icon: Icons.person,
),
];
Wrap your screen:
ZebaOnboarding(
steps: steps,
child: Scaffold(
body: Column(
children: [
Container(
key: homeKey,
child: const Text(
"Home"
),
),
Container(
key: profileKey,
child: const Text(
"Profile"
),
),
],
),
),
);
๐ฏ Controller Actions
Control onboarding manually.
Start
controller.start();
Next
controller.next();
Previous
controller.previous();
Skip
controller.skip();
Complete
controller.complete();
๐พ Resume Support
The package stores onboarding completion state.
Save completion:
await OnboardingStorage.saveCompleted();
Check completion:
final completed =
await OnboardingStorage.completed();
Reset onboarding:
await OnboardingStorage.reset();
๐๏ธ Project Structure
lib/
โโโ zeba_academy_onboarding.dart
โโโ src/
โโโ onboarding_step.dart
โโโ onboarding_controller.dart
โโโ onboarding_overlay.dart
โโโ onboarding_storage.dart
โโโ onboarding_tour.dart
โโโ widgets/
โโโ spotlight.dart
๐งช Testing
Run package tests:
flutter test
๐ Requirements
Flutter:
>=3.10.0
Dart:
>=3.0.0
๐ Roadmap
Future improvements:
Custom animationsTooltip placement optionsDark mode supportMultiple onboarding sessionsGesture supportLottie animation supportMore storage providers
๐จโ๐ป About Me
โจ Iโm Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
Learn more:
๐ Website https://sufyanism.com/
๐ผ LinkedIn https://www.linkedin.com/in/sufyanism
๐ Zeba Academy
Your all-in-one learning hub!
๐ Explore courses and resources in coding, technology, and development.
Learn through:
- Practical tutorials
- Real-world projects
- Hands-on experience
Level up your development skills ๐ปโจ
Website:
Coding Resources:
YouTube:
https://www.youtube.com/@zeba.academy
Instagram:
https://www.instagram.com/zeba.academy/
๐ค Contributing
Contributions are welcome.
Steps:
-
Fork the repository
-
Create a branch:
git checkout -b feature/new-feature
- Commit:
git commit -m "Add new feature"
- Push:
git push origin feature/new-feature
- Open a Pull Request.
๐ License
This project is licensed under the GNU General Public License v3.0.
You are free to:
โ Use โ Modify โ Distribute โ Improve
under GPL-3.0 terms.
See the LICENSE file for details.
โค๏ธ Support
If this package helps your Flutter projects, consider sharing it with the community.
Thank you for using Zeba Academy Onboarding ๐