- Fixed compileSdk syntax error in build.gradle.kts (was using incorrect 'compileSdk { version = release(36) }' instead of 'compileSdk = 36')
- Moved splits configuration out of defaultConfig to correct location
- Added comprehensive ProGuard rules to handle OkHttp's optional dependencies (BouncyCastle, Conscrypt, OpenJSSE)
- Added ProGuard rules for Sardine WebDAV, Coroutines, and Gson
- Build now completes successfully both locally and in CI/CD
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