Secretary

Apps/journal
Login

Apps/journal

Secretary Journal (Android)

Android-Client für ein digitales Tagebuch/Journal auf dem secretary-server (CalDAV). Jeder Eintrag ist ein VJOURNAL-Komponent (RFC 5545 §3.6.3) in einer .ics-Datei unter einer Journal-Collection (/journal/main/, seit v129 eigener Namespace-Root; zuvor /calendars/journal-*/).

What it does

How to use

Screenshots

Journal Liste Journal List Journal Detail

Entry types

Journal Stimmung Journal Exkreta Journal Medikament

Journal Essen Journal Trigger Journal Skill Journal Gewohnheit

Developer information

Every released version: Apps/journal/changelog

Verzeichnisstruktur

secretary-journal-android/
├── build.gradle.kts              # Root-Build
├── settings.gradle.kts
├── gradle.properties
├── CONTEXT.md
├── gradle/wrapper/
└── app/
    ├── build.gradle.kts
    ├── proguard-rules.pro
    └── src/main/
        ├── AndroidManifest.xml
        ├── res/values/
        │   ├── strings.xml                 # Englisch (Systemstandard)
        │   └── themes.xml
        ├── res/values-de/strings.xml       # Deutsch
        └── java/org/beowulf/secretary/journal/
            ├── SecretaryJournalApp.kt       # Application (Service-Locator)
            ├── MainActivity.kt              # Single-Activity
            ├── data/
            │   ├── JournalModels.kt         # JournalEntry, Mood
            │   ├── VJournal.kt              # RFC-5545-Parser/-Writer
            │   ├── JournalRepository.kt     # Config-Persistenz (zentrales Konto)
            │   └── AccountResolver.kt       # Zentrales Konto (ContentProvider)
            ├── vm/
            │   └── JournalViewModel.kt      # App-State
            └── ui/
                ├── Theme.kt                 # Material 3
                ├── LoginScreen.kt           # Server + Basic-Auth
                ├── JournalCalendarScreen.kt # Monatskalender
                ├── JournalEditScreen.kt     # Editor (Datum/Stimmung/Text)
                ├── SettingsScreen.kt        # Verbindung/Abmelden
                └── navigation/NavGraph.kt   # Routen: login, calendar, entry, settings

Die Sync-Engine (OfflineSyncEngine) und ihre Test-Suite liegen im gemeinsamen secretary-common-android (nicht im Journal) und werden von allen secretary-Apps genutzt.

Befehle

Voraussetzungen: JDK 21, Android-SDK (Platform 37, Build-Tools 34) und Gradle 9.x. Im Repository liegt bewusst kein Gradle-Wrapper -- entweder Android Studio nutzen (bringt sein Gradle mit) oder Gradle 9 selbst installieren; die Beispiele unten rufen deshalb gradle direkt.

export ANDROID_HOME="$HOME/Android/Sdk"   # bzw. sdk.dir=... in local.properties

gradle :journal:assembleDebug             # Debug-APK
gradle :common:testDebugUnitTest          # gemeinsame Engine (local/online/offline)
gradle :journal:compileDebugKotlin        # Kompilierung inkl. Engine-Wiring

Konzepte

Berechtigungen

Server-Referenz


Attachments: