# miggyoe/notes-app architecture

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

- Interactive diagram: https://gitdiagram.com/miggyoe/notes-app
- Repository: https://github.com/miggyoe/notes-app

## Overview

Notes-App is a small interactive command-line notes manager. The user selects actions in the main menu, which passes a shared in-memory notes list to add, view, edit, search, or delete operations; editing also displays the notes first. The README names these capabilities, and the excerpts show the menu dispatch and operation details. Notes are not persisted. The older delete file appears peripheral and is excluded.

Main entry points: [`main.py`](https://github.com/miggyoe/notes-app/blob/main/main.py) (Main menu), [`edit_note.py`](https://github.com/miggyoe/notes-app/blob/main/edit_note.py) (Edit note), [`view_note.py`](https://github.com/miggyoe/notes-app/blob/main/view_note.py) (View notes), [`add_note.py`](https://github.com/miggyoe/notes-app/blob/main/add_note.py) (Add note)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("User"))
node_menu["Main menu<br/>[main.py]"]
node_add["Add note<br/>[add_note.py]"]
node_view["View notes<br/>[view_note.py]"]
node_edit["Edit note<br/>[edit_note.py]"]
node_search["Search notes<br/>[search_note.py]"]
node_delete["Delete note<br/>[delete_note.py]"]

node_user -->|"selects action"| node_menu
node_menu -->|"passes notes"| node_add
node_menu -->|"passes notes"| node_view
node_menu -->|"passes notes"| node_edit
node_menu -->|"passes notes"| node_search
node_menu -->|"passes notes"| node_delete
node_edit -->|"displays notes"| node_view

click node_menu "https://github.com/miggyoe/notes-app/blob/main/main.py"
click node_add "https://github.com/miggyoe/notes-app/blob/main/add_note.py"
click node_view "https://github.com/miggyoe/notes-app/blob/main/view_note.py"
click node_edit "https://github.com/miggyoe/notes-app/blob/main/edit_note.py"
click node_search "https://github.com/miggyoe/notes-app/blob/main/search_note.py"
click node_delete "https://github.com/miggyoe/notes-app/blob/main/delete_note.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_user,node_view toneBlue
class node_menu,node_add,node_edit,node_search,node_delete toneTeal
```

## Components

### Other components

- **User**
- [Main menu](https://github.com/miggyoe/notes-app/blob/main/main.py): `main.py`
- [Add note](https://github.com/miggyoe/notes-app/blob/main/add_note.py): `add_note.py`
- [View notes](https://github.com/miggyoe/notes-app/blob/main/view_note.py): `view_note.py`
- [Edit note](https://github.com/miggyoe/notes-app/blob/main/edit_note.py): `edit_note.py`
- [Search notes](https://github.com/miggyoe/notes-app/blob/main/search_note.py): `search_note.py`
- [Delete note](https://github.com/miggyoe/notes-app/blob/main/delete_note.py): `delete_note.py`

## Connections

- User → Main menu: selects action (evidence: `main.py`)
- Main menu → Add note: passes notes (evidence: `main.py`)
- Main menu → View notes: passes notes (evidence: `main.py`)
- Main menu → Edit note: passes notes (evidence: `main.py`)
- Main menu → Search notes: passes notes (evidence: `main.py`)
- Main menu → Delete note: passes notes (evidence: `main.py`)
- Edit note → View notes: displays notes (evidence: `edit_note.py`)
