20af8b6e3697abee7f94714129224477009776b4
Simple Notes Sync
Minimalistische Offline-Notiz-App mit automatischer WLAN-Synchronisierung.
📱 Features
- ✅ Offline-first: Notizen lokal erstellen und bearbeiten
- ✅ Auto-Sync: Automatische Synchronisierung im Heim-WLAN
- ✅ WebDAV: Docker-basierter Server
- ✅ Simpel: Fokus auf Funktionalität
- ✅ Robust: Fehlerbehandlung und Konfliktauflösung
🏗️ Projekt-Struktur
simple-notes-sync/
├── server/ # Docker WebDAV Server
│ ├── docker-compose.yml
│ ├── .env.example
│ └── README.md
│
└── android/ # Android App (Kotlin)
└── (Android Studio Projekt)
🚀 Quick Start
1. Server starten
cd server
cp .env.example .env
nano .env # Passwort anpassen
docker-compose up -d
2. Server testen
curl -u noteuser:your_password http://localhost:8080/
3. Android App entwickeln
cd android
# In Android Studio öffnen
# Build & Run
📖 Dokumentation
In diesem Repository:
- QUICKSTART.md - Schnellstart-Anleitung
- server/README.md - Server-Verwaltung
Vollständige Dokumentation (project-docs):
- README.md - Projekt-Übersicht & Architektur
- IMPLEMENTATION_PLAN.md - Detaillierter Sprint-Plan
- SERVER_SETUP.md - Server-Setup Details
- ANDROID_GUIDE.md - 📱 Kompletter Android-Code
- NOTIFICATIONS.md - Notification-System Details
- WINDOWS_SETUP.md - 🪟 Windows + Android Studio Setup
- CODE_REFERENCE.md - Schnelle Code-Referenz
⚙️ Server Konfiguration
Standard-Credentials:
- Username:
noteuser - Password: Siehe
.envimserver/Verzeichnis
Server-URL:
- Lokal:
http://localhost:8080/ - Im Netzwerk:
http://YOUR_IP:8080/
IP-Adresse finden:
ip addr show | grep "inet " | grep -v 127.0.0.1
📱 Android App Setup
Vorraussetzungen
- Android Studio Hedgehog (2023.1.1) oder neuer
- JDK 17
- Min SDK 24 (Android 7.0)
- Target SDK 34 (Android 14)
In App konfigurieren
- App starten
- Einstellungen öffnen
- Server-URL eintragen (z.B.
http://192.168.1.100:8080/) - Username & Passwort eingeben
- Heim-WLAN SSID eingeben
- "Verbindung testen"
🔧 Entwicklung
Server-Management
# Status prüfen
docker-compose ps
# Logs anschauen
docker-compose logs -f
# Neustarten
docker-compose restart
# Stoppen
docker-compose down
Android-Build
cd android
./gradlew assembleDebug
# APK Location:
# app/build/outputs/apk/debug/app-debug.apk
🧪 Testing
Server-Test
# Testdatei hochladen
echo '{"id":"test","title":"Test","content":"Hello"}' > test.json
curl -u noteuser:password -T test.json http://localhost:8080/test.json
# Datei abrufen
curl -u noteuser:password http://localhost:8080/test.json
# Datei löschen
curl -u noteuser:password -X DELETE http://localhost:8080/test.json
Android-App
- Notiz erstellen → speichern → in Liste sichtbar ✓
- WLAN verbinden → Auto-Sync ✓
- Server offline → Fehlermeldung ✓
- Konflikt-Szenario → Auflösung ✓
📦 Deployment
Server (Production)
Option 1: Lokaler Server (Raspberry Pi, etc.)
docker-compose up -d
Option 2: VPS (DigitalOcean, Hetzner, etc.)
# Mit HTTPS (empfohlen)
# Zusätzlich: Reverse Proxy (nginx/Caddy) + Let's Encrypt
Android App
# Release Build
./gradlew assembleRelease
# APK signieren
# Play Store Upload oder Direct Install
🔐 Security
Entwicklung:
- ✅ HTTP Basic Auth
- ✅ Nur im lokalen Netzwerk
Produktion:
- ⚠️ HTTPS mit SSL/TLS (empfohlen)
- ⚠️ Starkes Passwort
- ⚠️ Firewall-Regeln
- ⚠️ VPN für externen Zugriff
🐛 Troubleshooting
Server startet nicht
# Port bereits belegt?
sudo netstat -tlnp | grep 8080
# Logs checken
docker-compose logs webdav
Android kann nicht verbinden
- Ist Android im gleichen WLAN?
- Ist die Server-IP korrekt?
- Firewall blockiert Port 8080?
- Credentials korrekt?
# Ping zum Server
ping YOUR_SERVER_IP
# Port erreichbar?
telnet YOUR_SERVER_IP 8080
📝 TODO / Roadmap
Version 1.0 (MVP)
- Docker WebDAV Server
- Android Basic CRUD
- Auto-Sync bei WLAN
- Error Handling
- Notifications
Version 1.1
- Suche
- Dark Mode
- Markdown-Support
Version 2.0
- Desktop-Client (Flutter Desktop)
- Tags/Kategorien
- Verschlüsselung
- Shared Notes
📄 License
MIT License - siehe LICENSE
👤 Author
Created for personal use - 2025
🙏 Acknowledgments
- bytemark/webdav - Docker WebDAV Server
- Sardine Android - WebDAV Client
- Android WorkManager - Background Tasks
Project Start: 19. Dezember 2025 Status: 🚧 In Development
Description
📝 Minimalist offline note-taking app with automatic Wi-Fi synchronisation via WebDAV without many permissions 🛡️
androidfdroidkotlinkotlin-androidmarkdownmaterial-design-3notes-appprivacyself-hostedsimple-appwebdav
Readme
MIT
5.7 MiB
Languages
Kotlin
98.1%
Shell
1.9%