No description
  • JavaScript 84.7%
  • CSS 10.8%
  • Java 4.2%
  • HTML 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-20 22:57:01 +02:00
.idea Application buildup 2026-08-20 22:57:01 +02:00
assets Application buildup 2026-08-20 22:57:01 +02:00
electron Application buildup 2026-08-20 22:57:01 +02:00
plugins/wearable-sync Application buildup 2026-08-20 22:57:01 +02:00
scripts Application buildup 2026-08-20 22:57:01 +02:00
server Application buildup 2026-08-20 22:57:01 +02:00
src Application buildup 2026-08-20 22:57:01 +02:00
wear/android Application buildup 2026-08-20 22:57:01 +02:00
.gitignore Application buildup 2026-08-20 22:57:01 +02:00
AGENTS.md Application buildup 2026-08-20 22:57:01 +02:00
capacitor.config.json Application buildup 2026-08-20 22:57:01 +02:00
Docket - Cross-Platform Mockups (Standalone).html first commit 2026-08-20 16:46:28 +02:00
index.html first commit 2026-08-20 16:46:28 +02:00
package-lock.json Application buildup 2026-08-20 22:57:01 +02:00
package.json Application buildup 2026-08-20 22:57:01 +02:00
README.md Application buildup 2026-08-20 22:57:01 +02:00
vite.config.js first commit 2026-08-20 16:46:28 +02:00

Docket

Docket ist eine ruhige Aufgaben- und Fokus-App für Windows und Android. Aufgaben können lokal geführt oder aus einer Notion-Datenquelle synchronisiert werden.

Voraussetzungen

  • Node.js 20 oder neuer
  • Für Android: Android Studio inklusive Android SDK und ein Emulator oder Gerät
  • Optional für Notion: eine Notion-Integration und eine mit ihr geteilte Datenquelle

Installation

npm install

Ohne Notion-Verbindung startet Docket mit lokalen Beispieldaten. Es ist keine .env-Datei erforderlich.

Im Browser entwickeln

npm run dev

Vite gibt danach die lokale Adresse aus, üblicherweise http://localhost:5173. Diese Variante zeigt die Oberfläche mit lokalen Demo-Daten. Für die Notion-Synchronisierung muss zusätzlich der API-Server laufen:

npm run server

Der Server läuft standardmäßig unter http://localhost:8787 und stellt zugleich den Produktions-Build bereit.

Windows-App starten und debuggen

npm run electron

Der Befehl erzeugt zunächst den Produktions-Build und öffnet danach die Electron-App. Electron startet den lokalen Docket-Server selbstständig, daher ist kein zweites Terminal nötig.

Zum Debuggen in der Windows-App öffne die Chromium-Entwicklerwerkzeuge mit Strg + Umschalt + I. Für schnelle UI-Änderungen ist npm run dev im Browser meist bequemer.

Android-App starten und debuggen

Nach Änderungen am Web-Code werden die Android-Assets mit diesem Befehl aktualisiert:

npm run android:sync

Danach das Android-Projekt öffnen:

npm run android:open

In Android Studio ein Gerät oder einen Emulator auswählen und auf Run klicken. Für WebView-Debugging das Gerät per USB verbinden, Chrome öffnen und chrome://inspect/#devices aufrufen.

Wear OS Tile

npm run android:sync bereitet zusätzlich die eingebettete Wear-OS-Begleit-App vor. Sie stellt ein Docket-Tile für Google Pixel Watch und Samsung Galaxy Watch (Wear OS) bereit. Das Tile zeigt die aktuell ausgewählte Aufgabe, den Timer und die aktuelle Fokusphase; die Android-App überträgt die Werte direkt über die Wear-OS-Datenebene.

Nach der Installation der Android-App die Wear-OS-Begleit-App auf der gekoppelten Uhr installieren und das Tile Docket timer über den Tile-Editor der Uhr hinzufügen. Die Anzeige ist bewusst schreibgeschützt; Timer-Steuerung und Aufgabenänderungen erfolgen weiterhin in Docket auf dem Smartphone.

Android im lokalen Netzwerk

Ein Android-Gerät kann den Server des PCs nicht über localhost erreichen, aber ohne Weiteres über dessen lokale Netzwerkadresse. Starte Docket auf dem PC, ermittle dessen IPv4-Adresse mit ipconfig und öffne auf Android Preferences → Local network → PC address. Trage dort beispielsweise http://192.168.178.42:8787 ein.

Der LAN-Port ist in der Windows-App unter Preferences → Local network → LAN port änderbar; Docket startet nach einer Änderung neu. PC und Android-Gerät müssen im selben vertrauenswürdigen Netzwerk sein; die Windows-Firewall muss eingehende Verbindungen auf dem gewählten Port im privaten Netzwerk erlauben.

Eine öffentliche Adresse oder HTTPS sind dafür nicht erforderlich. HTTP ist bewusst für das private LAN freigegeben; für ein fremdes Netzwerk oder Zugriff über das Internet sollte der Server weiterhin über HTTPS betrieben werden. Das Notion-Token bleibt ausschließlich in der lokalen Docket-Konfiguration und gehört nie in Browser-Speicher oder Android-Quellcode.

Notion einrichten

  1. Erstelle eine interne Integration in Notion und teile die gewünschte Datenquelle mit ihr.
  2. Starte npm run electron oder npm run server.
  3. Öffne in Docket Preferences → Notion → Connect.
  4. Gib im Verbindungsfenster das Integration-Secret ein, wähle oder füge die Data-Source-ID ein und verbinde die Datenbank.
  5. Öffne danach Property mapping, um Titel, Status, Fälligkeit, Projekt und Beschreibung zuzuordnen.

Secret, Data-Source-ID und Property-Zuordnung werden ausschließlich lokal in ignorierten Docket-Konfigurationsdateien gespeichert. Sie gehören nicht in Android-Quellcode.

Nützliche Befehle

Befehl Zweck
npm run dev Web-Oberfläche mit Hot Reload starten
npm run build Produktions-Build nach dist erzeugen
npm run server Docket- und Notion-API-Server starten
npm run electron Windows-Desktop-App starten
npm run android:sync Web-Build erstellen und Android-Assets synchronisieren
npm run android:open Android-Projekt in Android Studio öffnen

Fehlerbehebung

  • „Notion is not connected yet“: Preferences → Notion öffnen, Secret und Data-Source-ID prüfen; die Datenquelle muss mit der Integration geteilt sein.
  • Keine Properties im Zuordnungsdialog: Die Data-Source-ID oder Berechtigung der Integration stimmt nicht.
  • Android synchronisiert nicht: Nach jeder Web-Änderung npm run android:sync ausführen.
  • Notion funktioniert nur in Windows, nicht auf Android: Unter Preferences → Local network → PC address muss die erreichbare LAN-Adresse des PCs stehen (zum Beispiel http://192.168.178.42:8787); anschließend die Windows-Firewall prüfen.