zeba_academy_concept_map 0.0.1 copy "zeba_academy_concept_map: ^0.0.1" to clipboard
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:

  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 changes
git push origin feature/new-feature
  1. 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. šŸ’»āœØ


āž” Main Website:

https://zeba.academy

āž” Coding Resources:

https://code.zeba.academy

āž” 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 ā¤ļø

0
likes
150
points
67
downloads

Documentation

API reference

Publisher

verified publisherzeba.academy

Weekly Downloads

Interactive concept map and mind map Flutter package with draggable nodes, relationships, zoom, pan and export support.

Homepage

License

GPL-3.0 (license)

Dependencies

flutter, path_provider, uuid

More

Packages that depend on zeba_academy_concept_map