Im zweiten Teil unserer Videoreihe „Entwicklung einer Desktopsoftware für compow mit C++, Qt und SQLite“ geht es darum, Typen für die Branchen zu entwickeln sowie eine Bibliothek, um die Branchen aus der Datenbank in einer Liste zu speichern und einer ListBox anzuzeigen.
Eine Desktopanwendung für compow mit C++, Qt und SQLite – Teil 2
Für das Projekt compow, welches ich damals 2016 entwickelt habe und jetzt gerade relaunche, nachdem es zwei Jahre abgeschaltet war, möchte ich die Desktopsoftware, die ursprünglich in wxWidgets geschrieben war, neu in Qt implementieren.
Eine Desktopanwendung für compow mit C++, Qt und SQLite
Die wxWidgets-Anwendung ist in die Jahre gekommen und das Deployment, vor allem für verschiedene Betriebssysteme, ist unglaublich aufwendig. Weiterhin habe ich eine Menge Code an compow geändert, so dass man ein größeres Refactoring durchführen müsste. Ich möchte sie also neuschreiben und dachte mir, dass ich den Vorgang aufnehme. Darum geht es hier in den Videos. Begleitet mich beim Entwickeln der neuen compow-Desktop-Version.
Und hierum handel es sich: Mit der Desktop-Version von compow hat man lokalen Zugriff auf alle in compow gespeicherten Firmenprofile und kann diese inklusive Branchen durchsuchen.
Es handelt sich um eine sehr einfach Software und im ersten Schritt soll sie auch ganz einfach entwickelt werden. Ich verzichte auf ORM und Persistensbibliotheken (hier geht es nur um ein paar wenige Queries), auf Patterns, und so weiter. Ich entwickle ganz klassisch, da es sich nur um ein Nebenprodukt handelt. So sah die alte Software aus:
Alte compow-Desktop-Software
Die SQLite-Datenbank nehmen wir vom alten Projekt. Dafür gibt es auch bereits ein Script, welches die notwendigen Daten aus der „echten“ Datenbank herauszieht und in der SQLite-Datenbank speichert und Indices anlegt. Darum möchte ich mich nicht kümmern.
So sieht die Software aus, die wir in diesem ersten Teil implementiert haben:
Anfang der neuen Version
Nicht schlecht, oder? In den nächsten Tagen machen wir weiter.
Nichts großes, aber das Projekt braucht zumindest einen Baustellenwebsite. Wir bauen die einfachste Website der Welt, fügen sie ins Git-Repo ein, richten SSL auf dem Server ein sowie ein paar Weiterleitungen und deployen die Website.
KooKooK 0014: Wir erstellen eine Baustellen-Website
Bei Splittern handelt es sich um variable, vom Anwender verschiebbare Bereiche. Beispielsweise kann man eine Seitenleiste mit einer Baumstruktur definieren und rechts daneben ein Info-Bereich. Es ist dann mit einem Splitter möglich, die Größen nach links und rechts zu ändern.
Ein Form-Layout kann man sich in etwa vorstellen wie ein E-Mail-Formular auf Websites. Auf der linken Seite sind, zum Beispiel, die Beschriftungsfelder, auf der rechten dann die Eingabefelder.
Die Kommandozeile. Viele haben Angst oder Respekt vor ihr. Ich versuche mal, ein wenig Einblick zu bringen. Hier geht es nur im ganz Kleinen darum, wie man sich auf der Kommandozeile bewegen kann. Hier ist absolut kein Anspruch auf Vollständigkeit (Wörter überspringen, ganze Strings löschen, andere Shells, usw. usf.), es geht um die untersten Basics, um mit dem System zu arbeiten.
Gitea ist eine Alternative für GitHub. Es lässt sich problemlos auf einem eigenen Server betreiben, so dass du selbst die Datenhoheit hast. Wie das auf FreeBSD geht, zeige ich in diesem Video.
Gitea auf FreeBSD mit Apache und mod_proxy
Ja, ich benutze immer noch Apache. Und auch ja, ich bin immer noch zufrieden damit. Deswegen zeige ich, wie man Gitea mit Apache nutzen kann.
Die Installation ist einfach. Per
pkg install gitea
installiert sich gitea von alleine. In /etc/rc.conf eingetragen
gitea_enable="YES"
startet es auch beim FreeBSD-Start und lässt sich direkt mittels
service gitea start
starten und nutzen. An der Konfiguration müssen wir nichts anpassen.
Lediglich in der httpd.conf vom Apache müssen wir die Module mod_proxy und mod_proxy_http laden und einen virtuellen Host anlegen, der so aussehen könnte:
<VirtualHost *:80>
ServerName gitea.domain.tld
ServerAdmin mail@mail.de
ProxyPreserveHost On
ProxyRequests off
AllowEncodedSlashes NoDecode
ProxyPass / http://localhost:3000/ nocanon
</VirtualHost>
Den Apache einmal durchstarten und schon kann man Gitea konfigurieren.