Zeba Academy Onboarding

A production-ready Flutter onboarding package for creating beautiful app tours, feature highlights, coach marks, and resumable onboarding experiences.

Flutter License


โœจ 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 animations
  • Tooltip placement options
  • Dark mode support
  • Multiple onboarding sessions
  • Gesture support
  • Lottie animation support
  • More 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:

https://zeba.academy/

Coding Resources:

https://code.zeba.academy/

YouTube:

https://www.youtube.com/@zeba.academy

Instagram:

https://www.instagram.com/zeba.academy/


๐Ÿค Contributing

Contributions are welcome.

Steps:

  1. Fork the repository

  2. Create a branch:

git checkout -b feature/new-feature
  1. Commit:
git commit -m "Add new feature"
  1. Push:
git push origin feature/new-feature
  1. 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 ๐Ÿš€