# star0723/dmkj architecture

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

- Interactive diagram: https://gitdiagram.com/star0723/dmkj
- Repository: https://github.com/star0723/dmkj

## Overview

This is a command-line client for the 到梦空间 activity service. The main workflow is: log in with a saved token or phone credentials, browse activities or request details by ID, then wait for the signup window and submit an application. Request construction and signing are separate from menu orchestration and display. The graph reflects the sampled Python files; other repository notes and unsampled capabilities are not inferred.

Main entry points: [`code/main.py`](https://github.com/star0723/dmkj/blob/main/code/main.py) (Menu and actions), [`code/Encode.py`](https://github.com/star0723/dmkj/blob/main/code/Encode.py) (Payload encoding), [`code/display.py`](https://github.com/star0723/dmkj/blob/main/code/display.py) (Activity display), [`code/SignToken.py`](https://github.com/star0723/dmkj/blob/main/code/SignToken.py) (Request signing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["CLI workflow"]
  node_main["Menu and actions<br/>[main.py]"]
  node_display["Activity display<br/>[display.py]"]
end

subgraph group_protocol["Request protocol"]
  node_encode["Payload encoding<br/>[Encode.py]"]
  node_sign["Request signing<br/>[SignToken.py]"]
  node_credentials[("Local credentials")]
end

subgraph group_service["Remote service"]
  node_api{{"到梦空间 API"}}
end

node_user(("User"))

node_user -->|"chooses actions"| node_main
node_main -->|"builds payloads"| node_encode
node_encode -->|"signs JSON"| node_sign
node_encode -->|"reads credentials"| node_credentials
node_main -->|"saves credentials"| node_credentials
node_encode -->|"returns payload"| node_main
node_main -->|"posts requests"| node_api
node_api -->|"returns responses"| node_main
node_main -->|"renders results"| node_display
node_main -->|"runs countdown"| node_display

click node_main "https://github.com/star0723/dmkj/blob/main/code/main.py"
click node_display "https://github.com/star0723/dmkj/blob/main/code/display.py"
click node_encode "https://github.com/star0723/dmkj/blob/main/code/Encode.py"
click node_sign "https://github.com/star0723/dmkj/blob/main/code/SignToken.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_main,node_display,node_user toneBlue
class node_encode,node_sign,node_credentials toneAmber
class node_api toneMint
```

## Components

### CLI workflow

- [Menu and actions](https://github.com/star0723/dmkj/blob/main/code/main.py): `code/main.py`
- [Activity display](https://github.com/star0723/dmkj/blob/main/code/display.py): `code/display.py`

### Request protocol

- [Payload encoding](https://github.com/star0723/dmkj/blob/main/code/Encode.py): `code/Encode.py`
- [Request signing](https://github.com/star0723/dmkj/blob/main/code/SignToken.py): `code/SignToken.py`
- **Local credentials**

### Remote service

- **到梦空间 API**

### Other components

- **User**

## Connections

- User → Menu and actions: chooses actions
- Menu and actions → Payload encoding: builds payloads
- Payload encoding → Request signing: signs JSON
- Payload encoding → Local credentials: reads credentials
- Menu and actions → Local credentials: saves credentials
- Payload encoding → Menu and actions: returns payload
- Menu and actions → 到梦空间 API: posts requests
- 到梦空间 API → Menu and actions: returns responses
- Menu and actions → Activity display: renders results
- Menu and actions → Activity display: runs countdown
