Architektura systému » Historie » Revize 36
Revize 35 (Ondřej Váně, 2020-03-30 09:54) → Revize 36/41 (Zdeněk Častorál, 2020-03-30 14:32)
h1. Architektura systému
* Systému bude rozdělen do třech základních částí, které mezi sebou budou komunikovat pomocí REST API (JSON).
** Frontend - Angular, TypeScript
** Backend - Spring, Java
** Souborová databáze - Apache Solr
* Každá jednotlivá část bude spuštěna v dockeru kontejneru.
* Architektura systému je znázorněna na obrázku níže.
!architecture.png!
[[Komunikační protokol]]
h1. Komunikační protokol v.1
* Jednotlivé zprávy budou zasílány ve fromátu JSON
* Komunikace bude probíhat pomocí HTTP protokolu
* Budou využívány návratové HTTP kódy stavů (200, 400, 500, atd.) - později bude upřesněno
* Návrh komunikace na obrázku níže.
h2. REST API - URL
* */search*: POST => hledání výrazu v dokuemntech
* */documents*: POST => přídání nového dokumentu a obrázku
* */documents*: GET => vypsání všech dokumetů (název, datum, atd.) jen základní info
!kom_protokol.png!
* Struktura jednotlivých zpráv
** Query message:
<pre><code class="json">
{
"query": "hledaný výraz",
"date": "čas odeslání dotazu"
}
</code></pre>
** Query to Solr message:
<pre><code class="json">
{
"query": "Pole pro vyhledávání : hledaný výraz"
}
</code></pre>
** Query result from Solr:
<pre><code class="json">
{
"IdDocument":"id dokumentu",
"TextRegion":{
"PlainText":"text region",
"Coords":"koordináty regionu",
"TextLine":[
{
"PlainText":"text line",
"Coords":"koordináty řádky",
"TextWord":[
{
"PlainText":"text word",
"Coords":"koordináty slova"
}
]
}
]
}
}
</code></pre>
** Query response:
<pre><code class="json">
{
"IdDocument":"id dokumentu",
"DocumentImage":"Obrázek v Base64",
"TextRegion":{
"PlainText":"text region",
"Coords":"koordináty regionu",
"TextLine":[
{
"PlainText":"text line 1",
"Coords":"koordináty řádky",
"TextWord":[
{
"PlainText":"text word 1",
"Coords":"koordináty slova"
}
]
}
]
}
}
</code></pre>
h1. UI návrh
* Návhr v PDF "Zde":https://drive.google.com/open?id=1-IpTV9p6A5I20Y_y9zQyk8e-pg8Vzzol
* Pokud chcete klikací verzi návrh UI, tak napište Ondřej Váně
* Screeny níže
h2. Home => /
!screen_1.png!
h2. Search => /search
!screen_2.png!
h2. Documents => /documents
!screen_3.png!
h2. About dialog => /
!screen_4.png!
h2. Help => /help
!screen_5.png!