Commit 28fe70a9 authored by zeroleak's avatar zeroleak
Browse files

add architecture

parent a8b57fbf
# Whirlpool architecture
## I. Usage
Whirlpool can be managed:
- from desktop: `whirlpool-gui`
- from REST API for developers: `whirlpool-cli API`
- from command line: `whirlpool-cli`
![](charts/usage.png)
## II. Modules
Whirlpool is modular:
- 4 java modules: `server`, `client`, `protocol`, `cli`
- 1 electron/react module: `GUI`
`client` and `server` communicate through `protocol`.
![](charts/architecture.png)
graph TD
classDef ext fill:#faf9f9,stroke:#888,stroke-width:2px;
GUI[Whirlpool-GUI] -->|rest CLI api|CLI[Whirlpool-CLI]
CLI -->CLIENT[Whirlpool-client]
CLIENT -->|websocket + rest|PROTOCOL{Whirlpool-protocol}
SERVER[Whirlpool-server] -->|websocket + rest|PROTOCOL
class DOJO ext
Charts are generated from Markdown
using https://mermaidjs.github.io/mermaid-live-editor/
graph TD
classDef blue fill:#faf9f9,stroke:#888,stroke-width:2px;
DSK(Desktop)-->GUI
GUI[Whirlpool-gui] -->CLIAPI{cli-api}
DEV(Third-party software)-->CLIAPI
CLIAPI -->|rest|CLI[Whirlpool-cli]
CMD(Command-line)-->|java -jar|CLI
CLI-->CLIENT[Whirlpool-client]
WALLET(Android)-->CLIENT
class DSK,DEV,CMD,WALLET blue
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment