# soryuasukka/mynotetaking architecture

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

- Interactive diagram: https://gitdiagram.com/soryuasukka/mynotetaking
- Repository: https://github.com/soryuasukka/mynotetaking

## Overview

NoteTaker is a Flask-backed personal note manager. The main workflow is browser interaction with the note interface, API operations for listing, creating, editing, deleting, and searching notes, and persistence in SQLite. The README also describes auto-save and responsive UI behavior; the HTML source was not sampled, so its detailed client-side wiring cannot be verified. User routes and models are present as a separate API template, not part of the documented note workflow.

Main entry points: [`src/routes/note.py`](https://github.com/soryuasukka/mynotetaking/blob/main/src/routes/note.py) (Notes API), [`src/main.py`](https://github.com/soryuasukka/mynotetaking/blob/main/src/main.py) (Flask entry point), [`src/static/index.html`](https://github.com/soryuasukka/mynotetaking/blob/main/src/static/index.html) (Note interface), [`src/routes/user.py`](https://github.com/soryuasukka/mynotetaking/blob/main/src/routes/user.py) (Users API template)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Web interface"]
  node_ui["Note interface<br/>[index.html]"]
end

subgraph group_backend["Flask backend"]
  node_app["Flask entry point<br/>[main.py]"]
  node_note_api["Notes API<br/>[note.py]"]
  node_user_api["Users API template<br/>[user.py]"]
end

subgraph group_data["Data layer"]
  node_note_model["Note model<br/>[note.py]"]
  node_user_model["User model and DB setup<br/>[user.py]"]
  node_sqlite[("SQLite database")]
end

node_person(("Note taker"))

node_person -->|"uses"| node_ui
node_app -->|"serves"| node_ui
node_ui -->|"API requests"| node_note_api
node_note_api -->|"JSON responses"| node_ui
node_app -->|"registers routes"| node_note_api
node_app -->|"registers routes"| node_user_api
node_app -->|"initializes database"| node_user_model
node_note_api -->|"queries and serializes"| node_note_model
node_note_api -->|"uses session"| node_user_model
node_user_api -->|"queries and serializes"| node_user_model
node_note_api -->|"reads and writes"| node_sqlite
node_user_api -->|"reads and writes"| node_sqlite
node_app -->|"creates schema"| node_sqlite

click node_ui "https://github.com/soryuasukka/mynotetaking/blob/main/src/static/index.html"
click node_app "https://github.com/soryuasukka/mynotetaking/blob/main/src/main.py"
click node_note_api "https://github.com/soryuasukka/mynotetaking/blob/main/src/routes/note.py"
click node_user_api "https://github.com/soryuasukka/mynotetaking/blob/main/src/routes/user.py"
click node_note_model "https://github.com/soryuasukka/mynotetaking/blob/main/src/models/note.py"
click node_user_model "https://github.com/soryuasukka/mynotetaking/blob/main/src/models/user.py"

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_ui toneBlue
class node_app,node_note_api,node_user_api toneAmber
class node_note_model,node_user_model,node_sqlite toneMint
class node_person toneIndigo
```

## Components

### Web interface

- [Note interface](https://github.com/soryuasukka/mynotetaking/blob/main/src/static/index.html): `src/static/index.html`

### Flask backend

- [Flask entry point](https://github.com/soryuasukka/mynotetaking/blob/main/src/main.py): `src/main.py`
- [Notes API](https://github.com/soryuasukka/mynotetaking/blob/main/src/routes/note.py): `src/routes/note.py`
- [Users API template](https://github.com/soryuasukka/mynotetaking/blob/main/src/routes/user.py): `src/routes/user.py`

### Data layer

- [Note model](https://github.com/soryuasukka/mynotetaking/blob/main/src/models/note.py): `src/models/note.py`
- [User model and DB setup](https://github.com/soryuasukka/mynotetaking/blob/main/src/models/user.py): `src/models/user.py`
- **SQLite database**

### Other components

- **Note taker**

## Connections

- Note taker → Note interface: uses
- Flask entry point → Note interface: serves
- Note interface → Notes API: API requests
- Notes API → Note interface: JSON responses
- Flask entry point → Notes API: registers routes
- Flask entry point → Users API template: registers routes
- Flask entry point → User model and DB setup: initializes database
- Notes API → Note model: queries and serializes
- Notes API → User model and DB setup: uses session
- Users API template → User model and DB setup: queries and serializes
- Notes API → SQLite database: reads and writes
- Users API template → SQLite database: reads and writes
- Flask entry point → SQLite database: creates schema
