zeba_academy_concept_map 0.0.1
zeba_academy_concept_map: ^0.0.1 copied to clipboard
Interactive concept map and mind map Flutter package with draggable nodes, relationships, zoom, pan and export support.
š§ Zeba Academy Concept Map #
A Flutter package for creating interactive concept maps, mind maps, and visual learning diagrams with draggable nodes, relationships, zoom, pan, custom node types, and export support.
š Features #
Zeba Academy Concept Map provides developers with tools to create beautiful interactive learning maps inside Flutter applications.
⨠Included Features #
ā Interactive Mind Maps ā Topic Relationships ā Draggable Nodes ā Drag & Drop Support ā Zoom & Pan Canvas ā Custom Node Types ā Custom Node Colors ā Node Connections ā JSON Export ā Lightweight API ā Flutter Friendly Architecture
š¦ Installation #
Add this package to your pubspec.yaml:
dependencies:
zeba_academy_concept_map: ^0.0.1
Run:
flutter pub get
š Usage #
Import the package:
import 'package:zeba_academy_concept_map/zeba_academy_concept_map.dart';
Create Controller #
final controller = ConceptMapController();
Add Nodes #
controller.addNode(
ConceptNode(
id: "flutter",
title: "Flutter",
position: Offset(200, 200),
),
);
Add another node:
controller.addNode(
ConceptNode(
id: "widgets",
title: "Widgets",
position: Offset(500, 300),
),
);
Connect Topics #
Create relationships between concepts:
controller.connect(
"flutter",
"widgets",
);
Result:
Flutter
|
|
Widgets
š§© Display Concept Map #
Add the widget:
ConceptMap(
controller: controller,
)
š±ļø Drag & Drop #
Every node supports interaction.
Users can:
- Move nodes
- Rearrange concepts
- Create custom layouts
No extra setup required.
š Zoom & Pan #
Built-in canvas navigation:
- Pinch zoom
- Mouse zoom
- Touch movement
- Large workspace support
šØ Custom Node Types #
Create custom learning nodes:
ConceptNode(
id: "dart",
title: "Dart",
type: "language",
color: Colors.orange,
position: Offset(300,400),
)
Examples:
language
lesson
topic
category
custom
š¤ Export Maps #
Export your concept map:
final json =
MapExporter.json(controller);
Example output:
{
"nodes": [
{
"id": "flutter",
"title": "Flutter",
"x": 200,
"y": 200
}
],
"edges": [
{
"from": "dart",
"to": "flutter"
}
]
}
š Package Structure #
lib/
āāā zeba_academy_concept_map.dart
āāā src/
āāā models/
ā āāā map_node.dart
ā āāā map_edge.dart
āāā widgets/
ā āāā concept_map.dart
āāā controllers/
ā āāā map_controller.dart
āāā painters/
ā āāā map_painter.dart
āāā utils/
āāā exporter.dart
šÆ Use Cases #
Perfect for:
š Education Apps š§ Mind Mapping Apps š« Learning Platforms š³ Skill Tree Systems š Knowledge Management š» Coding Courses š Visual Planning Tools
š Requirements #
Flutter:
>=3.24.0
Dart:
>=3.12.0
š¤ Contributing #
Contributions are welcome.
Steps:
-
Fork the repository
-
Create a branch
git checkout -b feature/new-feature
- Commit changes
git commit -m "Add new feature"
- Push changes
git push origin feature/new-feature
- Open a Pull Request
šØāš» About Me #
⨠Iām Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
You can learn more about my work:
š 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
- Development
- Real-world projects
Level up your tech skills with practical learning resources. š»āØ
š Links #
ā” Main Website:
ā” Coding Resources:
ā” YouTube Tutorials:
https://www.youtube.com/@zeba.academy
ā” Instagram:
https://www.instagram.com/zeba.academy/
š License #
Copyright (C) 2026 Sufyan bin Uzayr
This project is licensed under:
GNU General Public License v3.0 #
You are free to:
ā Use ā Study ā Modify ā Share ā Distribute
under the terms of GPL-3.0.
See the LICENSE file for full license details.
ā Support #
If this package helps you:
ā Star the project š¤ Contribute š¢ Share with developers
Thank you for supporting open-source development ā¤ļø