diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..4d0de4b --- /dev/null +++ b/Readme.md @@ -0,0 +1,64 @@ +# [graph](https://git.tek.govt.hu/dowerx/graph) +## Moduláris grafikon megjelenítő + +Dinamikusan betöltött könyvtárok segítségével adható meg a megjelenített adat.\ +Példaként egy HTTP szerver plugint készítettem hozzá. + +![demo gif](doc/demo.gif) + +## Fordítás +A projekt a CMake buildrendszert használja és Debian 12 (Bookworm) rendszeren volt tesztelve. +Nem tartalmaz platformspecifikus kódot. POSIX kompatibilis környezetben elméletileg lefordítható. + +Fuggőségei: +- C++ 20 vagy nagyobb +- Qt 6 +- [flags-cpp](https://git.tek.govt.hu/dowerx/flags-cpp), C++ parancssori paraméter feldolgozó könyvtár +- [rum](https://git.tek.govt.hu/dowerx/rum), C++ web API könyvtár + +Fordítási parancsok: +```sh +mkdir -p build && cd build +cmake .. && make -j $(nproc) +``` + +Elkészült fájlok: +- *server*: a program grafikus része, a pluginok betöltője +- *plugins/libhttp.so*: HTTP szerver plugin + +## Használat +- *server* futtatása: `./server`, a megadott paramétereket a betöltött pluginek később megkapják +- *Ctrl+A*: grafikon hozzáadása +- *Ctrl+L*: plugin betöltése +- *grafikonra jobbklikk* + - *Clear*: grafikon tartalmának törlése + - *Remove*: grafikon törélse +- *pluginra duplaklikk*: plugin eltávolítása + +## HTTP plugin +A plugin a kapott paraméterek felhasználva indít egy HTTP szervert és az arra érkezett kérések alapján ad adatokat a grafikonokhoz. +```sh +$ ./server --help +Help: + --help: print help + --port: http port + --workers: number of worker threads +``` + +## Példa +A *test* mappában található egy Python script, ez használható a HTTP plugin tesztelésére: +```sh +$ ./test.py --help +usage: test.py [-h] [-t {sine,cosine,sine_array,star}] [-n NUM] [-d DELAY] -c CHART -s SERIES [-p PORT] [-a ADDRESS] + +options: + -h, --help show this help message and exit + -t {sine,cosine,sine_array,star} + test type + -n NUM sin_array size/iteration + -d DELAY delay between iteration + -c CHART chart id + -s SERIES series name + -p PORT server port + -a ADDRESS server address +``` \ No newline at end of file diff --git a/doc/demo.gif b/doc/demo.gif new file mode 100644 index 0000000..f2b2d20 Binary files /dev/null and b/doc/demo.gif differ diff --git a/test/requirements.txt b/test/requirements.txt new file mode 100644 index 0000000..3e24f99 --- /dev/null +++ b/test/requirements.txt @@ -0,0 +1,2 @@ +requests +numpy \ No newline at end of file