From 975ebedace1b36f5978f6088ed57c5aacc0c2f46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Mekina?= Date: Wed, 12 Mar 2025 22:42:06 +0100 Subject: [PATCH] sketch the news module architecture (#2) * make rough news module structure prototype * update generic structure * remove auth from news module structure --- README.md | 4 ++++ docs/Makefile | 6 ++++-- docs/exports/news_module.svg | 1 + docs/exports/system_arch.svg | 2 +- docs/news_module.dot | 23 +++++++++++++++++++++++ docs/system_arch.dot | 30 +++++++++++++++++++++++++----- 6 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 docs/exports/news_module.svg create mode 100644 docs/news_module.dot diff --git a/README.md b/README.md index d1ea991..cbfd2e9 100644 --- a/README.md +++ b/README.md @@ -35,3 +35,7 @@ ### Další poznámky - Uživatel neexistuje (je nejspíš jen jeden globální v obou modulech) - Zprávy drží portfolio a nakupují/prodávají + +## Struktura modulu zprávy + +![diagram struktury modulu zprávy](./docs/exports/news_module.svg) diff --git a/docs/Makefile b/docs/Makefile index 807e3a6..52eadfa 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,9 +1,11 @@ .PHONY: build build: dst .WAIT \ - dst/system_arch.svg + dst/system_arch.svg \ + dst/news_module.svg export: exports .WAIT \ - exports/system_arch.svg + exports/system_arch.svg \ + exports/news_module.svg dst: mkdir dst diff --git a/docs/exports/news_module.svg b/docs/exports/news_module.svg new file mode 100644 index 0000000..878c724 --- /dev/null +++ b/docs/exports/news_module.svg @@ -0,0 +1 @@ +UserStock moduleHTTP server (inferium)REST server (inferium)Logic coreDatabase (sled)External news APISentiment analyzer (VADER) \ No newline at end of file diff --git a/docs/exports/system_arch.svg b/docs/exports/system_arch.svg index e971aa3..2edce97 100644 --- a/docs/exports/system_arch.svg +++ b/docs/exports/system_arch.svg @@ -1 +1 @@ -REST serverAPI na zprávyREST klient \ No newline at end of file +Modul zprávyModul burzaREST klientREST serverREST serverHTTP serverREST klientHTTP serverUživatel \ No newline at end of file diff --git a/docs/news_module.dot b/docs/news_module.dot new file mode 100644 index 0000000..5541b02 --- /dev/null +++ b/docs/news_module.dot @@ -0,0 +1,23 @@ +digraph newsmod { + rankdir=TD; + graph [fontname="arial"]; + node [fontname="arial"]; + edge [fontname="arial"]; + + USER [label="User"] + STOCK [label="Stock module"] + HTTP [shape=box3d,label="HTTP server (inferium)"] + REST [shape=box3d,label="REST server (inferium)"] + DB [shape=box,label="Database (sled)"] + CORE [shape=box,label="Logic core"] + NEWS [label="External news API"] + AI [shape=box,label="Sentiment analyzer (VADER)"] + USER -> HTTP + USER -> STOCK + STOCK -> REST + CORE -> DB [style="dashed"] + REST -> CORE [style="dashed"] + HTTP -> CORE [style="dashed"] + CORE -> NEWS + CORE -> AI [style="dashed"] +} diff --git a/docs/system_arch.dot b/docs/system_arch.dot index 393be60..c3e3c97 100644 --- a/docs/system_arch.dot +++ b/docs/system_arch.dot @@ -1,11 +1,31 @@ digraph sysdiag { + rankdir=LR + graph [fontname="arial"]; node [fontname="arial"]; edge [fontname="arial"]; - RS [shape=box3d,label="REST server"] - ZA [label="API na zprávy"] - RS -> ZA - RC [shape=box,label="REST klient"] - RC -> RS + subgraph cluster_01 { + label="Modul zprávy" + + Z_REST_CLIENT [shape=box,label="REST klient"] + Z_REST_SERVER [shape=box3d,label="REST server"] + Z_HTTP_SERVER [shape=box3d,label="HTTP server"] + } + + subgraph cluster_02 { + label="Modul burza" + + B_REST_CLIENT [shape=box,label="REST klient"] + B_REST_SERVER [shape=box3d,label="REST server"] + B_HTTP_SERVER [shape=box3d,label="HTTP server"] + } + + USER [label="Uživatel"] + + Z_REST_CLIENT -> B_REST_SERVER + B_REST_CLIENT -> Z_REST_SERVER + + USER -> Z_HTTP_SERVER + USER -> B_HTTP_SERVER }