knuspermagier.de
Ein L und zwei P. Philipp!

Devlog #8 - BetterJournal

Ein Projekt, von dem ich seit 2022 nichts mehr zeigte, ist BetterJournal. Das hat mehrere Gründe: einerseits machte ich lange nichts dran, andererseits sieht es nicht besonders vorzeigbar aus und drittens ist es so schwer mal eben einen Screenshot zu machen, wenn man quasi alles unkenntlich machen muss, da es sich ja um das private Tagebuch handelt.

Nun ist aber doch einiges passiert und ich versuche es mal zusammen zu fassen.

Webauthn und Passkeys und Eingliederung

Letztendlich war BetterJournal die App, die für meinen Passkey-Versuch herhalten musste. Später, nachdem ich im Zuge der großen Konsolidierung, alles andere neu baute, wurde natürlich auch hier alles im Hintergrund ausgetauscht. Neue Laravel-Version, Dockerfiles, Tailwind, etc.

Highlights

Neben den einfachen Textbeiträgen nutze ich das Tagebuch zum Beispiel auch als Mood-Tracker und für anderen Kram. Um die letzten Werte da auf einen Blick darzustellen, baute ich ein, dass auf der Startseite direkt so ein paar “Highlight”-Kacheln angezeigt werden.

screenshot-2023-09-14-at-23.47.26.png

Suche

Man kann jetzt Suchen! Diese Funktion ist zwischendurch mal rausgeflogen, weil ich dachte, dass ich sie nicht brauche. Eines Tages musste ich aber mal etwas suchen und schon war ich aufgeschmissen, also schnell wieder rein. Aktuell ist es nur eine ganz einfache Suche mit where('text', 'LIKE'), keine tolle Volltextsuche.

Design

Wer die letzten Posts zu diesem Projekt gelesen hat, wird einen Unterschied gesehen haben. Mit dem Umbau auf Tailwind musste ich natürlich alles wegwerfen. Sah eh alles dumm aus. Jetzt bin ich auch weit von zufrieden, aber es funktioniert soweit.

Prompts

Etwas, was schon lange auf meiner Liste stand waren Writing Prompts, die habe ich letztens Implementiert. Im Filament-Backend kann man nun einfach Prompts anlegen, die aktuell nur aus einer Freitext-Frage und einer RRULE bestehen, mit der man angeben kann, in welcher Frequenz die Frage auftauchen soll. So kann ich zum Beispiel täglich einen “Welche Vögel hast du heut gesehen”? Und monatlich einen “Welche Mondphase hat dir diesmal am Besten gefallen?”-Prompt einspielen. Hat mir die letzten Wochen schon geholfen, etwas strukturierter zu journalen.

screenshot-2023-09-14-at-23.49.56.png
screenshot-2023-09-14-at-23.51.16.png

Umbauten

Um in Zukunft häufiger darüber schreiben zu können, also mit visueller Unterstützung durch Screenshots und die Sache einem eventuellen Release etwas näher zu bringen investierte ich nochmal etwas mehr Zeit in eine kleine Aufräumaktion. Bisher konnte man die verschiedenen Post-Typen (text, mood, whatever) ja nur in einer Konfigurationsdatei anlegen. Das ganze Geraffel verschob ich in die Datenbank, da ich wegen den Prompts nun sowieso Filament als Adminpanel drin hatte.

Alles fing allerdings damit an, dass ich einen FakeDataSeeder anlegte, um mir ein paar screenshotbare Daten zu erzeugen. Wie das so ist, kam eins zum anderen und plötzlich hat man einen riesigen Commit in dem man die Hälfte der Dateien angefasst hat. Ups. Naja, jetzt ist aber alles etwas besser!

bejou.test_-iphone-se.png
Mobile Ansicht

Wrapper, Tailscale und Co

Irgendwann zwischendurch baute ich noch einen kleinen iOS-Wrapper, damit ich die App auf dem iPhone mit FaceID nutzen kann. So richtig zufrieden bin ich damit aber noch nicht. Seit der Server-Umstellung hoste ich BetterJournal ja im Homelab und brauche daher Tailscale um darauf zugreifen zu können, das möchte ich allerdings nicht dauerhaft gestartet haben, weil es so viel Akku frisst!

Immerhin kann man in der Shortcuts-App eine Automation anlegen, die automatisch Tailscale startet, sobald ich meine Wrapper-App starte, aber, naja, so richtig funktioniert das auch noch nicht. Am Ende schreibe ich die Einträge also meistens am Rechner. Da muss ich mal gucken, ob ich noch eine gute Lösung finde. Am liebsten wäre es mir ja, wenn es eine Tailscale-Library gäbe, mit der ich direkt in der App und nur für die App, connecten könnte, aber das geht wohl nicht.

Ausblick

Als nächstes habe ich auf dem Zettel mal die Views, die noch überhaupt nicht schön aussehen, etwas schöner zu machen. Abgesehen davon ist meine Überlegung ein paar Import-Sachen anzulegen um… meine Runkeeper-Joggingrunden automatisch festzuhalten, oder so. Bin mir aber noch nicht sicher, ob das wirklich Sinn ergibt.

Kommentare, Feedback und andere Anmerkungen?
Schreib mir eine E-Mail 🤓