infrastruktur:lounge:kiosk
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | Nächste ÜberarbeitungBeide Seiten der Revision | ||
infrastruktur:lounge:kiosk [2019-05-24 02:09] – Benutzung dokumentiert xq | infrastruktur:lounge:kiosk [2019-05-24 02:23] – Mehr Informationen über die Entwicklung des Systems xq | ||
---|---|---|---|
Zeile 46: | Zeile 46: | ||
---- | ---- | ||
- | ===== Entwicklung ====== | + | ===== Entwicklung ===== |
+ | |||
+ | ==== System ==== | ||
+ | Der kiosk_v5 läuft auf einem NixOS. Dieses meldet automatisch den User //shack// an, welcher dann eine **i3**-Session startet. | ||
+ | |||
+ | Der **i3** startet dann die Kiosk-Anwendung. | ||
+ | |||
+ | Besonderheit: | ||
+ | |||
+ | Configs/ | ||
+ | |||
+ | ==== Anwendung ==== | ||
Entwickelt mit C++17 auf Basis von SDL2 als Renderer und libcurl als Web-Backend. Benutzt nix sowie qmake als Buildsystem. | Entwickelt mit C++17 auf Basis von SDL2 als Renderer und libcurl als Web-Backend. Benutzt nix sowie qmake als Buildsystem. | ||
+ | |||
+ | === Allgemeines === | ||
Source-Repository: | Source-Repository: | ||
- | Aux/ | + | Dependencies: |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * sdl2 (pkg-config) | ||
+ | * sdl2_image (pkg-config) | ||
+ | * sdl2_ttf (pkg-config) | ||
+ | * libcurl (pkg-config) | ||
+ | |||
+ | === Software-Architektur === | ||
+ | |||
+ | Die Anwendung hat eine schwache Modularisierung: | ||
+ | * UI-Module (mainmenu, screensaver, | ||
+ | * Hilfmodule (fontrenderer, | ||
+ | Die Module sind untereinander nur mit der notwendigen API verbunden und haben nach außen hin eine kleine Schnittstelle. Innerhalb eines Moduls ist nicht mehr als die notwendige Abstraktion getätigt (KISS-Prinzip). | ||
+ | Die Initialisierung eines UI-Moduls ist etwas unorthodox (Singleton-Pattern mit "init on first access" | ||
===== Historie ====== | ===== Historie ====== | ||
Siehe [[project: | Siehe [[project: |
infrastruktur/lounge/kiosk.txt · Zuletzt geändert: 2021-03-24 16:59 von 192.168.146.218