# nttare0/note architecture

> Architecture diagram of the GitHub repository nttare0/note, 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/nttare0/note
- Repository: https://github.com/nttare0/note

## Overview

NoteStudio is an Android note-taking app, with files indicating a workflow spanning workspace browsing, note editing, and local note storage. Its source tree also shows ink and drawing tools, export utilities, and home-screen widgets. The supplied README is empty, and the only excerpts are build configuration; runtime calls and data flow therefore cannot be verified. The graph maps the identifiable product components without asserting unverified connections.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_screens["Note screens"]
  node_activity["Main activity<br/>[MainActivity.kt]"]
  node_workspace["Workspace screen<br/>[WorkspaceScreen.kt]"]
  node_editor["Note editor"]
  node_viewmodel["Notebook view model"]
  node_card["Note card<br/>[NoteCard.kt]"]
end

subgraph group_data["Note data"]
  node_repository["Note repository<br/>[NoteRepository.kt]"]
  node_database[("Note database<br/>[NoteDatabase.kt]")]
  node_models["Note models<br/>[NoteModels.kt]"]
  node_serializer["Note serializer<br/>[NoteSerializer.kt]"]
end

subgraph group_ink["Ink and export"]
  node_inkcanvas["Ink canvas"]
  node_drawing["Freehand drawing"]
  node_inktoolbar["Ink toolbar<br/>[InkToolbar.kt]"]
  node_dragdrop["Drag-drop editor"]
  node_canvasexport["Canvas PNG export"]
  node_pdfexport["PDF export<br/>[PdfExportHelper.kt]"]
end

subgraph group_widgets["Home widgets"]
  node_previewwidget["Note preview widget"]
  node_capturewidget["Quick capture widget"]
  node_widgethelper["Widget helper"]
end

node_user(("User"))

click node_activity "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/MainActivity.kt"
click node_workspace "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/screens/WorkspaceScreen.kt"
click node_editor "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/screens/NoteEditorScreen.kt"
click node_viewmodel "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/NotebookViewModel.kt"
click node_card "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/NoteCard.kt"
click node_repository "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/data/NoteRepository.kt"
click node_database "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/data/NoteDatabase.kt"
click node_models "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/data/NoteModels.kt"
click node_serializer "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/data/NoteSerializer.kt"
click node_inkcanvas "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/InkCanvasSurface.kt"
click node_drawing "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/FreehandDrawingSurface.kt"
click node_inktoolbar "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/InkToolbar.kt"
click node_dragdrop "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/DragDropEditorComponents.kt"
click node_canvasexport "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/util/CanvasPngExportHelper.kt"
click node_pdfexport "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/util/PdfExportHelper.kt"
click node_previewwidget "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/widget/NotePreviewWidgetProvider.kt"
click node_capturewidget "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/widget/QuickCaptureWidgetProvider.kt"
click node_widgethelper "https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/widget/NoteWidgetHelper.kt"

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_activity,node_workspace,node_editor,node_viewmodel,node_card,node_user toneBlue
class node_repository,node_database,node_models,node_serializer toneAmber
class node_inkcanvas,node_drawing,node_inktoolbar,node_dragdrop,node_canvasexport,node_pdfexport toneMint
class node_previewwidget,node_capturewidget,node_widgethelper toneRose
```

## Components

### Note screens

- [Main activity](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/MainActivity.kt): `app/src/main/java/com/example/MainActivity.kt`
- [Workspace screen](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/screens/WorkspaceScreen.kt): `app/src/main/java/com/example/ui/screens/WorkspaceScreen.kt`
- [Note editor](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/screens/NoteEditorScreen.kt): `app/src/main/java/com/example/ui/screens/NoteEditorScreen.kt`
- [Notebook view model](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/NotebookViewModel.kt): `app/src/main/java/com/example/ui/NotebookViewModel.kt`
- [Note card](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/NoteCard.kt): `app/src/main/java/com/example/ui/components/NoteCard.kt`

### Note data

- [Note repository](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/data/NoteRepository.kt): `app/src/main/java/com/example/data/NoteRepository.kt`
- [Note database](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/data/NoteDatabase.kt): `app/src/main/java/com/example/data/NoteDatabase.kt`
- [Note models](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/data/NoteModels.kt): `app/src/main/java/com/example/data/NoteModels.kt`
- [Note serializer](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/data/NoteSerializer.kt): `app/src/main/java/com/example/data/NoteSerializer.kt`

### Ink and export

- [Ink canvas](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/InkCanvasSurface.kt): `app/src/main/java/com/example/ui/components/InkCanvasSurface.kt`
- [Freehand drawing](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/FreehandDrawingSurface.kt): `app/src/main/java/com/example/ui/components/FreehandDrawingSurface.kt`
- [Ink toolbar](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/InkToolbar.kt): `app/src/main/java/com/example/ui/components/InkToolbar.kt`
- [Drag-drop editor](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/ui/components/DragDropEditorComponents.kt): `app/src/main/java/com/example/ui/components/DragDropEditorComponents.kt`
- [Canvas PNG export](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/util/CanvasPngExportHelper.kt): `app/src/main/java/com/example/util/CanvasPngExportHelper.kt`
- [PDF export](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/util/PdfExportHelper.kt): `app/src/main/java/com/example/util/PdfExportHelper.kt`

### Home widgets

- [Note preview widget](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/widget/NotePreviewWidgetProvider.kt): `app/src/main/java/com/example/widget/NotePreviewWidgetProvider.kt`
- [Quick capture widget](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/widget/QuickCaptureWidgetProvider.kt): `app/src/main/java/com/example/widget/QuickCaptureWidgetProvider.kt`
- [Widget helper](https://github.com/nttare0/note/blob/main/app/src/main/java/com/example/widget/NoteWidgetHelper.kt): `app/src/main/java/com/example/widget/NoteWidgetHelper.kt`

### Other components

- **User**
