# marufallammahim/mindvaultarchive architecture

> Architecture diagram of the GitHub repository marufallammahim/mindvaultarchive, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/marufallammahim/mindvaultarchive
- Repository: https://github.com/marufallammahim/mindvaultarchive

## Overview

MindVault Archive is an offline-first Flutter knowledge archive. The principal workflow is to find or create notes, organize and revisit them, then preserve or transfer the archive locally. The README documents the capabilities and local SQLite storage, but the supplied source excerpt is only Android build configuration; implementation-level calls and routing could not be verified. The graph therefore uses README-supported relationships and exact paths from the tree, without inferring wiring between unsampled modules.

Main entry points: [`lib/core/database/database.dart`](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/core/database/database.dart) (Local SQLite), [`lib/features/archive/presentation/archive_tools_screen.dart`](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/archive/presentation/archive_tools_screen.dart) (Archive tools), [`lib/features/home/presentation/home_screen.dart`](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/home/presentation/home_screen.dart) (Home), [`lib/features/search/data/archive_search_service.dart`](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/search/data/archive_search_service.dart) (Archive search)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App shell"]
  node_home["Home<br/>[home_screen.dart]"]
  node_router["App navigation<br/>[router.dart]"]
end

subgraph group_notes["Note authoring"]
  node_editor["Markdown editor<br/>[editor_screen.dart]"]
  node_quick_capture["Quick capture"]
  node_templates["Note templates"]
  node_drawing["Drawing canvas"]
  node_database[("Local SQLite<br/>[database.dart]")]
end

subgraph group_organize["Find and organize"]
  node_search["Archive search"]
  node_tags["Tags and categories<br/>[tags_screen.dart]"]
  node_tasks["Offline tasks<br/>[tasks_screen.dart]"]
  node_insights["Archive insights"]
end

subgraph group_lifecycle["Archive lifecycle"]
  node_timeline["Archive timeline"]
  node_history["Revision history"]
  node_trash["Trash and restore<br/>[trash_screen.dart]"]
end

subgraph group_portability["Backup and transfer"]
  node_archive_tools["Archive tools"]
  node_json_transfer["JSON transfer"]
  node_full_backup["Full ZIP backup"]
end

node_person(("Archive user"))

node_person -->|"uses archive"| node_home
node_home -->|"searches notes"| node_search
node_search -->|"queries local FTS5"| node_database
node_editor -->|"autosaves notes"| node_database
node_quick_capture -.->|"captures notes"| node_database
node_templates -.->|"creates notes"| node_database
node_drawing -->|"stores attachment metadata"| node_database
node_tags -.->|"organizes archive"| node_database
node_tasks -->|"stores tasks"| node_database
node_history -->|"stores revisions"| node_database
node_trash -.->|"updates note state"| node_database
node_archive_tools -.->|"offers JSON transfer"| node_json_transfer
node_archive_tools -.->|"offers ZIP backup"| node_full_backup
node_json_transfer -->|"imports and exports records"| node_database
node_full_backup -->|"backs up archive"| node_database

click node_home "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/home/presentation/home_screen.dart"
click node_router "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/app/router.dart"
click node_editor "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/editor/presentation/editor_screen.dart"
click node_quick_capture "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/capture/presentation/quick_capture_screen.dart"
click node_templates "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/templates/presentation/templates_screen.dart"
click node_drawing "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/drawing/presentation/drawing_screen.dart"
click node_database "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/core/database/database.dart"
click node_search "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/search/data/archive_search_service.dart"
click node_tags "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/tags/presentation/tags_screen.dart"
click node_tasks "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/tasks/presentation/tasks_screen.dart"
click node_insights "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/insights/presentation/archive_insights_screen.dart"
click node_timeline "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/timeline/presentation/archive_timeline_screen.dart"
click node_history "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/history/presentation/revision_history_screen.dart"
click node_trash "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/trash/presentation/trash_screen.dart"
click node_archive_tools "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/archive/presentation/archive_tools_screen.dart"
click node_json_transfer "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/archive/data/archive_transfer_service.dart"
click node_full_backup "https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/archive/data/full_backup_service.dart"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_home,node_router,node_person toneBlue
class node_editor,node_quick_capture,node_templates,node_drawing,node_database toneAmber
class node_search,node_tags,node_tasks,node_insights toneMint
class node_timeline,node_history,node_trash toneRose
class node_archive_tools,node_json_transfer,node_full_backup toneIndigo
```

## Components

### App shell

- [Home](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/home/presentation/home_screen.dart): `lib/features/home/presentation/home_screen.dart`
- [App navigation](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/app/router.dart): `lib/app/router.dart`

### Note authoring

- [Markdown editor](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/editor/presentation/editor_screen.dart): `lib/features/editor/presentation/editor_screen.dart`
- [Quick capture](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/capture/presentation/quick_capture_screen.dart): `lib/features/capture/presentation/quick_capture_screen.dart`
- [Note templates](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/templates/presentation/templates_screen.dart): `lib/features/templates/presentation/templates_screen.dart`
- [Drawing canvas](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/drawing/presentation/drawing_screen.dart): `lib/features/drawing/presentation/drawing_screen.dart`
- [Local SQLite](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/core/database/database.dart): `lib/core/database/database.dart`

### Find and organize

- [Archive search](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/search/data/archive_search_service.dart): `lib/features/search/data/archive_search_service.dart`
- [Tags and categories](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/tags/presentation/tags_screen.dart): `lib/features/tags/presentation/tags_screen.dart`
- [Offline tasks](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/tasks/presentation/tasks_screen.dart): `lib/features/tasks/presentation/tasks_screen.dart`
- [Archive insights](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/insights/presentation/archive_insights_screen.dart): `lib/features/insights/presentation/archive_insights_screen.dart`

### Archive lifecycle

- [Archive timeline](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/timeline/presentation/archive_timeline_screen.dart): `lib/features/timeline/presentation/archive_timeline_screen.dart`
- [Revision history](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/history/presentation/revision_history_screen.dart): `lib/features/history/presentation/revision_history_screen.dart`
- [Trash and restore](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/trash/presentation/trash_screen.dart): `lib/features/trash/presentation/trash_screen.dart`

### Backup and transfer

- [Archive tools](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/archive/presentation/archive_tools_screen.dart): `lib/features/archive/presentation/archive_tools_screen.dart`
- [JSON transfer](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/archive/data/archive_transfer_service.dart): `lib/features/archive/data/archive_transfer_service.dart`
- [Full ZIP backup](https://github.com/marufallammahim/mindvaultarchive/blob/main/lib/features/archive/data/full_backup_service.dart): `lib/features/archive/data/full_backup_service.dart`

### Other components

- **Archive user**

## Connections

- Archive user → Home: uses archive (evidence: `README.md`)
- Home → Archive search: searches notes (evidence: `README.md`)
- Archive search → Local SQLite: queries local FTS5 (evidence: `README.md`)
- Markdown editor → Local SQLite: autosaves notes (evidence: `README.md`)
- Quick capture → Local SQLite: captures notes
- Note templates → Local SQLite: creates notes
- Drawing canvas → Local SQLite: stores attachment metadata (evidence: `README.md`)
- Tags and categories → Local SQLite: organizes archive
- Offline tasks → Local SQLite: stores tasks (evidence: `README.md`)
- Revision history → Local SQLite: stores revisions (evidence: `README.md`)
- Trash and restore → Local SQLite: updates note state
- Archive tools → JSON transfer: offers JSON transfer
- Archive tools → Full ZIP backup: offers ZIP backup
- JSON transfer → Local SQLite: imports and exports records (evidence: `README.md`)
- Full ZIP backup → Local SQLite: backs up archive (evidence: `README.md`)
