# mrmaker53/data-manager architecture

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

## Overview

Data-Manager is a command-line review manager. Consumers can create reviews or look up existing ones; staff authenticate with a code, find a review, and optionally alter it. The single script handles these branches, displays review data, and reads or writes newline-delimited JSON in database.txt. The implementation is small and concentrated in main.py; the graph separates its user-facing workflows for clarity. Evidence is limited to the README and the excerpted main.py.

Main entry points: [`main.py`](https://github.com/mrmaker53/data-manager/blob/main/main.py) (Review CLI), [`database.txt`](https://github.com/mrmaker53/data-manager/blob/main/database.txt) (Review Database)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_consumer(("Consumer"))
node_staff(("Staff"))
node_cli["Review CLI<br/>[main.py]"]
node_consumer_create["Create Review<br/>[main.py]"]
node_consumer_lookup["Review Lookup<br/>[main.py]"]
node_staff_edit["Staff Review Edit<br/>[main.py]"]
node_display["Review Display<br/>[main.py]"]
node_database[("Review Database<br/>[database.txt]")]

node_consumer -->|"starts session"| node_cli
node_staff -->|"starts session"| node_cli
node_cli -->|"dispatches to"| node_consumer_create
node_cli -->|"dispatches to"| node_consumer_lookup
node_cli -->|"dispatches to"| node_staff_edit
node_consumer_create -->|"appends review"| node_database
node_consumer_lookup -->|"reads reviews"| node_database
node_staff_edit -->|"reads and updates"| node_database
node_consumer_create -->|"displays saved review"| node_display
node_consumer_lookup -->|"displays review"| node_display
node_staff_edit -->|"displays review"| node_display

click node_cli "https://github.com/mrmaker53/data-manager/blob/main/main.py"
click node_consumer_create "https://github.com/mrmaker53/data-manager/blob/main/main.py"
click node_consumer_lookup "https://github.com/mrmaker53/data-manager/blob/main/main.py"
click node_staff_edit "https://github.com/mrmaker53/data-manager/blob/main/main.py"
click node_display "https://github.com/mrmaker53/data-manager/blob/main/main.py"
click node_database "https://github.com/mrmaker53/data-manager/blob/main/database.txt"

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_consumer,node_staff toneIndigo
class node_cli,node_consumer_create,node_consumer_lookup,node_staff_edit,node_display toneBlue
class node_database toneAmber
```

## Components

### Other components

- **Consumer**
- **Staff**
- [Review CLI](https://github.com/mrmaker53/data-manager/blob/main/main.py): `main.py`
- [Create Review](https://github.com/mrmaker53/data-manager/blob/main/main.py): `main.py`
- [Review Lookup](https://github.com/mrmaker53/data-manager/blob/main/main.py): `main.py`
- [Staff Review Edit](https://github.com/mrmaker53/data-manager/blob/main/main.py): `main.py`
- [Review Display](https://github.com/mrmaker53/data-manager/blob/main/main.py): `main.py`
- [Review Database](https://github.com/mrmaker53/data-manager/blob/main/database.txt): `database.txt`

## Connections

- Consumer → Review CLI: starts session (evidence: `main.py`)
- Staff → Review CLI: starts session (evidence: `main.py`)
- Review CLI → Create Review: dispatches to (evidence: `main.py`)
- Review CLI → Review Lookup: dispatches to (evidence: `main.py`)
- Review CLI → Staff Review Edit: dispatches to (evidence: `main.py`)
- Create Review → Review Database: appends review (evidence: `main.py`)
- Review Lookup → Review Database: reads reviews (evidence: `main.py`)
- Staff Review Edit → Review Database: reads and updates (evidence: `main.py`)
- Create Review → Review Display: displays saved review (evidence: `main.py`)
- Review Lookup → Review Display: displays review (evidence: `main.py`)
- Staff Review Edit → Review Display: displays review (evidence: `main.py`)
