zeba_academy_decision_tree ๐ŸŒณ

A powerful and customizable Flutter Decision Tree package for building interactive decision flows, question paths, outcomes, and visual decision maps.

Create intelligent flows for:

  • Learning platforms
  • Quiz systems
  • Recommendation engines
  • Course guidance
  • Assessment tools
  • Interactive applications

Built with โค๏ธ for Flutter developers.


โœจ Features

โœ… Dynamic decision tree builder โœ… Question nodes โœ… Multiple answer paths โœ… Conditional navigation โœ… Outcome screens โœ… Interactive tree visualization โœ… Reusable Flutter widgets โœ… Clean package architecture โœ… Fully customizable UI โœ… Lightweight and dependency-free


๐Ÿ“ฆ Installation

Add this package to your pubspec.yaml:

dependencies:
  zeba_academy_decision_tree: ^1.0.0

Run:

flutter pub get

๐Ÿš€ Getting Started

Import the package:

import 'package:zeba_academy_decision_tree/zeba_academy_decision_tree.dart';

๐ŸŒณ Create a Decision Tree

Example:

DecisionFlow(

startNode: "start",

nodes: [

DecisionNode(

id: "start",

question: "What do you want to learn?",

answers: [

DecisionAnswer(
text: "Flutter",
outcome: "flutter",
),

DecisionAnswer(
text: "Backend",
outcome: "backend",
),

],

),

],

outcomes: {

"flutter":

DecisionOutcome(

title: "Flutter Development",

description:
"Start building beautiful mobile apps.",

),

"backend":

DecisionOutcome(

title: "Backend Development",

description:
"Learn APIs and server development.",

),

},

)

๐Ÿ“š Core Concepts

DecisionNode

A question or decision point.

DecisionNode(

id: "level",

question: "Choose your level",

answers: [],

)

DecisionAnswer

Defines available paths.

Example:

DecisionAnswer(

text: "Beginner",

nextNode: "basic",

)

Direct outcome:

DecisionAnswer(

text: "Complete",

outcome: "success",

)

DecisionOutcome

Final result screen.

DecisionOutcome(

title: "Congratulations",

description:
"You completed the journey.",

)

๐ŸŒฒ Tree Visualization

Display your complete decision structure:

DecisionTreeView(

nodes: nodes,

)

Includes:

  • Interactive scrolling
  • Zoom support
  • Complete tree overview

๐ŸŽฏ Use Cases

Education

Create:

  • Learning paths
  • Skill assessments
  • Course recommendations
  • Student guidance

Business

Create:

  • Product selection flows
  • Customer journeys
  • Recommendation systems

Applications

Create:

  • Setup wizards
  • Interactive guides
  • Surveys

๐Ÿ“ Project Structure

lib/

src/

models/

decision_node.dart
decision_answer.dart
decision_outcome.dart


engine/

decision_engine.dart


widgets/

question_card.dart
answer_button.dart
outcome_view.dart
tree_view.dart


screens/

decision_flow.dart

๐Ÿงช Testing

Run tests:

flutter test

Analyze:

flutter analyze

๐Ÿค Contributing

Contributions are welcome.

Steps:

  1. Fork the repository

  2. Create a branch

git checkout -b feature/new-feature
  1. Commit changes
git commit -m "Add new feature"
  1. Push branch
git push origin feature/new-feature
  1. Open Pull Request

๐Ÿ“œ License

This project is licensed under the:

GNU General Public License v3.0 (GPL-3.0)

You are free to:

โœ… Use โœ… Modify โœ… Share โœ… Distribute

See:

LICENSE

for full license details.


๐Ÿ‘จโ€๐Ÿ’ป About Me

โœจ Iโ€™m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.

Learn more:

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.

๐ŸŒ Main Website:

https://zeba.academy

๐Ÿ’ป Courses:

https://code.zeba.academy

๐Ÿ“บ YouTube:

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

๐Ÿ“ธ Instagram:

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

Zeba Academy is dedicated to:

  • Coding
  • Technology
  • Development
  • Practical projects
  • Hands-on learning

โญ Support

If this package helps you:

โญ Star the repository โญ Share with developers โญ Contribute improvements

Thank you for using:

zeba_academy_decision_tree ๐Ÿ’™