## Major Features - ✅ Battery optimized auto-sync (30 min interval, ~0.4%/day) - ✅ BuildConfig.DEBUG conditional logging (Logger.kt) - ✅ Settings UI cleanup (SSID field removed) - ✅ Interactive notifications (click opens app) - ✅ Post-reboot auto-sync (BootReceiver) - ✅ GitHub Actions deployment workflow ## Implementation Details ### Auto-Sync Architecture - WorkManager PeriodicWorkRequest (30 min intervals) - Gateway IP detection via network interface enumeration - Smart sync only when on home network - BootReceiver restarts monitoring after device reboot ### Logging System - Logger.kt object with BuildConfig.DEBUG checks - Debug logs only in DEBUG builds - Error/warning logs always visible - All components updated (NetworkMonitor, SyncWorker, WebDavSyncService, etc.) ### UI Improvements - Removed confusing SSID field from Settings - Gateway detection fully automatic - Material Design 3 info boxes - Cleaner, simpler user interface ### Notifications - PendingIntent opens MainActivity on click - setAutoCancel(true) for auto-dismiss - Broadcast receiver for UI refresh on sync ### GitHub Actions - Automated APK builds on push to main - Signed releases with proper keystore - 3 APK variants (universal, arm64-v8a, armeabi-v7a) - Semantic versioning: YYYY.MM.DD + build number - Comprehensive release notes with installation guide ## Documentation - README.md: User-friendly German guide - DOCS.md: Technical architecture documentation - GITHUB_ACTIONS_SETUP.md: Deployment setup guide ## Build Configuration - Signing support via key.properties - APK splits for smaller downloads - ProGuard enabled with resource shrinking - BuildConfig generation for DEBUG flag
Simple Notes Sync 📝
Minimalistische Android-App für Offline-Notizen mit automatischer WLAN-Synchronisierung
Eine schlanke Notiz-App ohne Schnickschnack - perfekt für schnelle Gedanken, die automatisch zu Hause synchronisiert werden.
✨ Features
- 📝 Offline-first - Notizen werden lokal gespeichert und sind immer verfügbar
- 🔄 Auto-Sync - Automatische Synchronisierung wenn du im Heimnetzwerk bist
- 🏠 WebDAV Server - Deine Daten bleiben bei dir (Docker-Container)
- 🔋 Akkuschonend - Nur ~0.4% Akkuverbrauch pro Tag
- 🚫 Keine Cloud - Keine Google, keine Microsoft, keine Drittanbieter
- 🔐 Privacy - Keine Tracking, keine Analytics, keine Standort-Berechtigungen
📥 Installation
Android App
Option 1: APK herunterladen
- Neueste Release öffnen
app-debug.apkherunterladen- APK auf dem Handy installieren
Option 2: Selbst bauen
cd android
./gradlew assembleDebug
# APK: android/app/build/outputs/apk/debug/app-debug.apk
WebDAV Server
Der Server läuft als Docker-Container und speichert deine Notizen.
cd server
cp .env.example .env
nano .env # Passwort anpassen!
docker-compose up -d
Server testen:
curl -u noteuser:dein_passwort http://192.168.0.XXX:8080/
🚀 Schnellstart
- Server starten (siehe oben)
- App installieren und öffnen
- Einstellungen öffnen (⚙️ Symbol oben rechts)
- Server konfigurieren:
- Server-URL:
http://192.168.0.XXX:8080/notes - Benutzername:
noteuser - Passwort: (aus
.envDatei) - Auto-Sync: AN
- Server-URL:
- Fertig! Notizen werden jetzt automatisch synchronisiert
💡 Wie funktioniert Auto-Sync?
Die App prüft alle 30 Minuten, ob:
- ✅ WLAN verbunden ist
- ✅ Server im gleichen Netzwerk erreichbar ist
- ✅ Neue Notizen vorhanden sind
Wenn alle Bedingungen erfüllt → Automatische Synchronisierung
Wichtig: Funktioniert nur im selben Netzwerk wie der Server (kein Internet-Zugriff nötig!)
🔋 Akkuverbrauch
| Komponente | Verbrauch/Tag |
|---|---|
| WorkManager (alle 30 Min) | ~0.3% |
| Netzwerk-Checks | ~0.1% |
| Total | ~0.4% |
Bei einem 3000 mAh Akku entspricht das ~12 mAh pro Tag.
📱 Screenshots
TODO: Screenshots hinzufügen
🛠️ Technische Details
Mehr Infos zur Architektur und Implementierung findest du in der technischen Dokumentation.
Stack:
- Android: Kotlin, Material Design 3, WorkManager
- Server: Docker, WebDAV (bytemark/webdav)
- Sync: Sardine Android (WebDAV Client)
🐛 Troubleshooting
Server nicht erreichbar
# Server Status prüfen
docker-compose ps
# Logs ansehen
docker-compose logs -f
# IP-Adresse finden
ip addr show | grep "inet " | grep -v 127.0.0.1
Auto-Sync funktioniert nicht
- Akku-Optimierung deaktivieren
- Einstellungen → Apps → Simple Notes → Akku → Nicht optimieren
- WLAN Verbindung prüfen
- App funktioniert nur im selben Netzwerk wie der Server
- Server-Status in App prüfen
- Settings → Server-Status sollte "Erreichbar" zeigen
Mehr Details in der Dokumentation.
🤝 Beitragen
Contributions sind willkommen! Bitte öffne ein Issue oder Pull Request.
📄 Lizenz
MIT License - siehe LICENSE
Projekt Start: 19. Dezember 2025
Status: ✅ Funktional & Produktiv