zeba_academy_skill_tree 0.0.1 copy "zeba_academy_skill_tree: ^0.0.1" to clipboard
zeba_academy_skill_tree: ^0.0.1 copied to clipboard

A Flutter package for building interactive skill trees with unlockable nodes, dependency-based progression, learning tracks, and progress visualization.

zeba_academy_skill_tree #

License: GPL v3 pub package Flutter

A powerful Flutter package for building interactive skill trees and learning paths with unlockable nodes, dependency management, learning tracks, and visual progress tracking.

Perfect for:

  • šŸŽ“ E-learning platforms
  • šŸ“š Course progression systems
  • 🧠 Skill roadmap applications
  • šŸŽ® Gamified education
  • šŸ† Achievement systems
  • šŸš€ Learning journey experiences

Features #

āœ… Unlockable skill nodes āœ… Dependency-based progression āœ… Learning tracks support āœ… Progress visualization āœ… Custom node styling āœ… Responsive layouts āœ… State management ready āœ… Smooth animations āœ… Lightweight architecture āœ… Easy integration


Preview #

Basics
   ↓
Widgets
   ↓
State Management
   ↓
Advanced Flutter

Installation #

Add dependency:

dependencies:
  zeba_academy_skill_tree: latest

Install:

flutter pub get

Import:

import 'package:zeba_academy_skill_tree/zeba_academy_skill_tree.dart';

Quick Start #

Create Nodes #

final nodes = [

SkillNode(
id: '1',
title: 'Basics',
icon: Icons.school,
status: SkillStatus.unlocked,
),

SkillNode(
id: '2',
title: 'Widgets',
icon: Icons.widgets,
dependencies: ['1'],
),

SkillNode(
id: '3',
title: 'State',
icon: Icons.memory,
dependencies: ['2'],
),

];

Setup Controller #

final controller =
SkillTreeController(
nodes,
);

Build UI #

ChangeNotifierProvider(

create: (_) => controller,

child: const SkillTree(),

)

Unlock Logic #

A node becomes available only after all dependency nodes are completed.

Example:

Course A
   ↓
Course B
   ↓
Course C

Complete A → unlock B Complete B → unlock C


Progress Tracking #

Track user completion percentage automatically.

controller.totalProgress

Update progress:

controller.updateProgress(
'2',
0.6,
);

Complete node:

controller.complete(
'2',
);

Learning Tracks #

Group nodes into structured paths.

SkillTrack(

title: 'Flutter Mastery',

nodes: [

basics,
widgets,
state,

],

);

Example #

MaterialApp(

home: Scaffold(

appBar: AppBar(
title: const Text(
'Skill Tree',
),

),

body: const SkillTree(),

),

);

Package Structure #

lib/

models/
 ā”œā”€ā”€ skill_node.dart
 └── skill_track.dart

controllers/
 └── skill_tree_controller.dart

widgets/
 ā”œā”€ā”€ skill_tree.dart
 ā”œā”€ā”€ progress_header.dart
 └── skill_node_widget.dart

utils/
 └── unlock_engine.dart

Roadmap #

  • āŒ Zoomable tree
  • āŒ Drag interactions
  • āŒ Firebase sync
  • āŒ XP system
  • āŒ Achievements
  • āŒ Node animations
  • āŒ Offline persistence
  • āŒ Riverpod support
  • āŒ Analytics

Contributing #

Contributions are welcome.

  1. Fork repository
  2. Create branch
git checkout -b feature/new-feature
  1. Commit changes
git commit -m "Add feature"
  1. Push
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).

See the LICENSE file for details.


About Me #

✨ I’m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.

You can learn more about me and my work:

🌐 https://sufyanism.com šŸ’¼ https://www.linkedin.com/in/sufyanism


Your all-in-one learning hub! #

šŸš€ Explore courses and resources in coding, tech, and development at Zeba Academy.

Empower yourself with practical skills through curated tutorials, real-world projects, and hands-on experience.

🌐 https://zeba.academy šŸ’» https://code.zeba.academy ā–¶ https://www.youtube.com/@zeba.academy šŸ“ø https://www.instagram.com/zeba.academy/

Thank you for visiting ā¤ļø

0
likes
140
points
73
downloads

Documentation

API reference

Publisher

verified publisherzeba.academy

Weekly Downloads

A Flutter package for building interactive skill trees with unlockable nodes, dependency-based progression, learning tracks, and progress visualization.

Homepage

License

GPL-3.0 (license)

Dependencies

collection, flutter, graphview, percent_indicator, provider

More

Packages that depend on zeba_academy_skill_tree