README BControl

BControl (Budget Control) ist eine Web-Applikation zur Orientierung in und Kontrolle von Finanzen (Konten). Ein Konto kann ein Bankkonto, eine Haushalts-Kasse oder alles andere sein, wo ein Guthaben durch Zu- und Abflüsse (Buchungen) verändert wird. Die Budget-Kontrolle wird durch Soll-Ist-Vergleiche und Prognose von Konto-Verläufen ermöglicht.

Installation

Variante 1 mit lokalem Web-Server

Variante 2 mit Docker

Initiale Befüllung

Betrieb

Variante 1 (lokaler Web-Server)

Variante 2 (mit Docker)

Update durchführen

Variante 1 (lokaler Web-Server)

Variante 2 (mit Docker)

Passwort neu setzen

Variante 1 (lokaler Web-Server)

Variante 2 (mit Docker)

Grundlagen

Für Interessierte, die mit den Grundlagen von Web-Anwendungen nicht so vertraut sind, hier kurz das Wichtigste.

Web-Server

Eine Web-Anwendung hat eine Benutzer-Oberfläche, die in einem Web-Browser (z.B. Google Chrome, Firefox) angezeigt wird, analog zu Internet-Seiten. Die anzuzeigenden Inhalte und die im Browser ablaufenden Programmteile müssen dem Browser von einem Server geliefert werden. Dieser kann im Internet liegen, aber auch auf dem gleichen PC, an dem der Anwender arbeitet. Im letzteren Fall ist der Server einfach ein Programm, das auf dem PC im Hintergrund läuft und Anfragen des Browsers beantwortet.

Für die lokale Installation eines Apache-Webservers auf dem eigenen Rechner empfehlen sich

Bei diesen Installationen ist auch schon dafür gesorgt, dass auf dem Web-Server PHP verfügbar ist (das ist die Programmiersprache, mit der BControl auf dem Server arbeitet), und dass eine mySql-Datenbank mit dabei ist.

Datenbank

BControl speichert die Daten nicht einfach in Dateien, wie man sie von Dokumenten auf dem PC kennt, sondern in einer Datenbank. Dort sind die Daten in vielen Tabellen hinterlegt und zwischen den Tabellen miteinander verknüpft.

Ein solches Datenbank-System ist im Prinzip noch ein weiterer Server, mit dem das Programm vom Web-Server aus kommuniziert. Auf dem System können wiederum viele Datenbanken und in jeder Datenbank viele Tabellen gespeichert werden. Damit Anwendung und Datenbank einander verstehen, braucht die Anwendung folgende Daten (hier mit typischen Werten für BControl auf XAMPP oder MAMP):

Wenn man XAMPP oder MAMP verwendet, muss man vor der Installation von BControl auf dem Datenbank-System eine neue Datenbank (z.B. mit Namen bc) anlegen. Dies geschieht häufig über die Web-Anwendung phpMyAdmin, die mit XAMPP und MAMP mitgeliefert wird.

Docker

Docker ist eine Technik mit dem Ziel, das eigene Rechner-System nicht mit Komponenten-Installationen für spezielle Anwendungen zu überfrachten. Also z.B. für BControl keinen Web-Server und keine Datenbank installieren zu müssen, die sich dann unübersichtlich im System einnisten.

Dazu werden die für die Anwendung notwendigen Komponenten (z.B. Apache mit PHP) zusammen mit der Anwendung in einen sogenannten Container gepackt und dieser dann als "virtuelles System" ausgeführt. Man benötigt also nur die Docker-Installation und kann dann alle Varianten von (Web-)Servern, Datenbanken etc. in Containern laufen lassen, ohne sie auf dem eigenen System installieren zu müssen. Wenn man einen Container nicht mehr braucht, wird er gestoppt und ggf. gelöscht und hinterlässt definitiv keine Spuren auf dem eigenen Rechner.

Docker ist frei verfügbar, läuft allerdings nur auf Mac- und Linux-Systemen sowie auf Windows 10 Pro. Den Download gibt es nach (kostenloser) Registrierung bei docker.com.

Für den Betrieb von BControl auf Mac-Rechnern empfehle ich Docker, weil es sehr einfach zu installieren ist und einem das Anlegen der Datenbank und das zugehörige Anpassen der BControl-Konfiguration komplett erspart.