View on GitHub

BudgetButlerWeb

Einfaches und flottes Haushaltsbuch mit Offline- und Online-Funktionalität

Download this project as a .zip file Download this project as a tar.gz file

Offline Anwendung: BudgetButlerWeb

Weitere Seiten

Inhaltsverzeichnis

Dashboard

Installation in Arch Linux mittels AUR

Das Paket budgetbutlerweb-desktop installieren und die Applikation über den Befehlbudgetbutlerweb oder über das Anwendungsicon starten.

Installation in Arch Linux mittels PKGBUILD

  1. Das Repository klonen und in das Verzeichnis wechseln: git clone https://github.com/SebastianRzk/BudgetButlerWeb && cd BudgetButlerWeb
  2. Das Paket bauen makepkg
  3. Das Paket installieren sudo pacman -U budgetbutlerweb-desktop-*.pkg.tar.zst
  4. Anwendung über das Anwendungsicon starten oder über den Befehl budgetbutlerweb.

Installation mit docker / docker-compose

Nutzung von fertigem Image aus Docker-Hub

Mithilfe von github-actions werden automatisch docker-images gebaut und in docker-hub gepublished.

Wie die Anwendung am besten in Docker konfiguriert wird, kann dem docker-compose.yml aus dem Ordner docker-compose-examples/budget_butler_desktop entnommen werden.

Für x86_64 kann das tag latest verwendet werden, für arm64 das tag latest-arm64 (siehe auch Docker-Hub).

Selbst gebautes Docker-Image

Neben dem fertigen Image kann die Anwendung auch selbst gebaut werden.

Im Ordner docker-compose-examples/budget_butler_desktop_local_build befindet sich ein shell-script, welches ein Docker-Image baut und das danebenliegende docker-compose.yml startet.

Manuelle Installation (Linux, mit Anpassungen aber auch für Windows und MacOS)

Systemvoraussetzungen

Installation

Das Git-Repository klonen:

git clone https://github.com/SebastianRzk/BudgetButlerWeb.git

Ins Projektverzeichnis wechseln:

cd BudgetButlerWeb

Anwendung bauen

sh build.sh

Optional: Anwendungsicon anlegen:

sh create_desktop_shortcut.sh

BudgetButlerWeb starten

Die Applikation kann über das Anwendungsicon gestartet werden

Alternativ kann der Electron Client manuell gestartet werden, dieser startet das Rust-Backend automatisch und stoppt dieses, wenn das Fenster geschlossen wird.

cd ./target/ && ./application-wrapper/budgetbutlerweb

Alternativ kann der Server auch manuell gestartet werden:

cd ./target/ && ./budgetbutlerweb

Über einen Webbrowser kann die Webseite nun lokal erreicht werden:

http://localhost:5000

Updates

BudgetButlerWeb aktualisieren:

# Code aktualisieren
git pull

# Anwendung neu bauen
build.sh

Softwaretests ausführen

Alle Softwaretests mit cargo starten:

cd butler_offline
cargo test

Umgebungsvariablen

Wenn die Anwendung lokal auf dem Computer betrieben wird, müssen keine Umgebungsvariablen gesetzt werden.

Sollte die Anwendung im Netzwerk betrieben werden, können/müssen folgende Umgebungsvariablen gesetzt werden, damit die Anwendung korrekt mit der Begleiter-App kommunizieren kann:

Wert Default Beschreibung
BUDGETBUTLER_APP_ROOT localhost Adresse, unter der die Anwendung erreichbar ist.
BUDGETBUTLER_APP_PORT 5000 Port, unter dem die Anwendung erreichbar ist.
BUDGETBUTLER_APP_PROTOCOL http Protokoll, unter dem die Anwendung erreichbar ist

Werden hier Werte geändert, muss die Umgebungsvariable ALLOWED_REDIRECTS in der Begleiter-App entsprechend angepasst werden, damit sich die lokale App bei der Begleiter-App anmelden kann.

Betrieb mit Docker / Docker-Compose

Hier liegen gebaute Docker-Images und hier sind Deployment Beispiele zu finden.

Migration von Version 3.0.0 auf 4.0.0 (von Python Client auf Rust Client)

  1. Cargo installieren
  2. Daten automatisch mit migrieren (bitte #dein Nutzername# durch deinen Nutzernamen ersetzen)

    python database_migrator/main.py ./Database_#dein Nutzername#.csv
    

Technischer Ansatz

Technologie

Die Offline-Anwendung ist ein Server, welcher die Datenhaltung und die Logik der Anwendung übernimmt und eine Oberfläche in Form einer Webseite bereitstellt. Diese Webseite wird mittels Electron in eine Desktop-Anwendung umgewandelt. Theoretisch ist es auch möglich, die Webseite in einem Webbrowser zu öffnen und BudgetButlerWeb dort ohne Einschränkung zu Nutzen.

Maßgebliche Technologien:

Struktur

Die Anwendung befindet sich in butler_offline.

Hier sind die folgenden Verzeichnisse zu finden:

Die Anwendung kann mittels cargo run gestartet werden. Der Webserver ist dann unter http://localhost:5000 erreichbar.

In application-wrapper befindet sich der Electron-Client. Dieser startet die Rust-Anwendung und öffnet ein Fenster, in dem die Webseite angezeigt wird.