Unify and streamline documentation, changelogs, and app descriptions (DE/EN). Improved clarity, removed redundancies, and updated feature highlights for v1.7.0. [skip ci]

This commit is contained in:
inventory69
2026-01-27 13:19:12 +01:00
parent 5135c711a5
commit 6dba091c03
7 changed files with 206 additions and 267 deletions

View File

@@ -2,11 +2,11 @@ name: Build Android Production APK
on:
push:
branches: [ main ] # Nur bei Push/Merge auf main triggern
workflow_dispatch: # Ermöglicht manuellen Trigger
branches: [ main ] # Only trigger on push/merge to main
workflow_dispatch: # Enables manual trigger
permissions:
contents: write # Fuer Release-Erstellung erforderlich
contents: write # Required for release creation
jobs:
build:
@@ -14,50 +14,50 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Code auschecken
- name: Checkout code
uses: actions/checkout@v4
- name: Java einrichten
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Semantic Versionsnummer aus build.gradle.kts extrahieren
- name: Extract semantic version from build.gradle.kts
run: |
# Version aus build.gradle.kts fuer F-Droid Kompatibilität
# Version from build.gradle.kts for F-Droid compatibility
VERSION_NAME=$(grep "versionName = " android/app/build.gradle.kts | sed 's/.*versionName = "\(.*\)".*/\1/')
VERSION_CODE=$(grep "versionCode = " android/app/build.gradle.kts | sed 's/.*versionCode = \([0-9]*\).*/\1/')
# Semantische Versionierung (nicht datums-basiert)
# Semantic versioning (not date-based)
BUILD_NUMBER="$VERSION_CODE"
echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV
echo "BUILD_NUMBER=$BUILD_NUMBER" >> $GITHUB_ENV
echo "VERSION_TAG=v$VERSION_NAME" >> $GITHUB_ENV
echo "🚀 Baue Version: $VERSION_NAME (Code: $BUILD_NUMBER)"
echo "🚀 Building version: $VERSION_NAME (Code: $BUILD_NUMBER)"
- name: Version aus build.gradle.kts verifizieren
- name: Verify version from build.gradle.kts
run: |
echo "✅ Verwende Version aus build.gradle.kts:"
echo "✅ Using version from build.gradle.kts:"
grep -E "versionCode|versionName" android/app/build.gradle.kts
- name: Android Signing konfigurieren
- name: Configure Android signing
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > android/app/simple-notes-release.jks
echo "storePassword=${{ secrets.KEYSTORE_PASSWORD }}" > android/key.properties
echo "keyPassword=${{ secrets.KEY_PASSWORD }}" >> android/key.properties
echo "keyAlias=${{ secrets.KEY_ALIAS }}" >> android/key.properties
echo "storeFile=simple-notes-release.jks" >> android/key.properties
echo "✅ Signing-Konfiguration erstellt"
echo "✅ Signing configuration created"
- name: Produktions-APK bauen (Standard + F-Droid Flavors)
- name: Build production APK (Standard + F-Droid Flavors)
run: |
cd android
./gradlew assembleStandardRelease assembleFdroidRelease --no-daemon --stacktrace
- name: APK-Varianten mit Versionsnamen kopieren
- name: Copy APK variants with version names
run: |
mkdir -p apk-output
@@ -69,34 +69,34 @@ jobs:
cp android/app/build/outputs/apk/fdroid/release/app-fdroid-release.apk \
apk-output/simple-notes-sync-v${{ env.VERSION_NAME }}-fdroid.apk
echo "✅ APK-Dateien vorbereitet:"
echo "✅ APK files prepared:"
ls -lh apk-output/
- name: APK-Artefakte hochladen
- name: Upload APK artifacts
uses: actions/upload-artifact@v4
with:
name: simple-notes-sync-apks-v${{ env.VERSION_NAME }}
path: apk-output/*.apk
retention-days: 90 # Produktions-Builds länger aufbewahren
retention-days: 90 # Keep production builds longer
- name: Commit-Informationen auslesen
- name: Extract commit information
run: |
echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "COMMIT_DATE=$(git log -1 --format=%cd --date=iso-strict)" >> $GITHUB_ENV
- name: F-Droid Changelogs lesen
- name: Read F-Droid changelogs
run: |
# Lese deutsche Changelog (Hauptsprache) - Use printf to ensure proper formatting
# Read German changelog (main language) - Use printf to ensure proper formatting
if [ -f "fastlane/metadata/android/de-DE/changelogs/${{ env.BUILD_NUMBER }}.txt" ]; then
CHANGELOG_CONTENT=$(cat "fastlane/metadata/android/de-DE/changelogs/${{ env.BUILD_NUMBER }}.txt")
echo "CHANGELOG_DE<<GHADELIMITER" >> $GITHUB_ENV
echo "$CHANGELOG_CONTENT" >> $GITHUB_ENV
echo "GHADELIMITER" >> $GITHUB_ENV
else
echo "CHANGELOG_DE=Keine deutschen Release Notes verfügbar." >> $GITHUB_ENV
echo "CHANGELOG_DE=No German release notes available." >> $GITHUB_ENV
fi
# Lese englische Changelog (optional)
# Read English changelog (optional)
if [ -f "fastlane/metadata/android/en-US/changelogs/${{ env.BUILD_NUMBER }}.txt" ]; then
CHANGELOG_CONTENT_EN=$(cat "fastlane/metadata/android/en-US/changelogs/${{ env.BUILD_NUMBER }}.txt")
echo "CHANGELOG_EN<<GHADELIMITER" >> $GITHUB_ENV
@@ -127,25 +127,19 @@ jobs:
</details>
---
## 📦 Downloads
| Variante | Datei | Info |
|----------|-------|------|
| **🏆 Empfohlen** | `simple-notes-sync-v${{ env.VERSION_NAME }}-standard.apk` | Standard-Version (funktioniert auf allen Geraeten) |
| F-Droid | `simple-notes-sync-v${{ env.VERSION_NAME }}-fdroid.apk` | Fuer F-Droid Store |
| Variant | File | Info |
|---------|------|------|
| **🏆 Recommended** | `simple-notes-sync-v${{ env.VERSION_NAME }}-standard.apk` | Standard version (works on all devices) |
| F-Droid | `simple-notes-sync-v${{ env.VERSION_NAME }}-fdroid.apk` | For F-Droid Store |
---
## 📊 Build-Info
## 📊 Build Info
- **Version:** ${{ env.VERSION_NAME }} (Code: ${{ env.BUILD_NUMBER }})
- **Datum:** ${{ env.COMMIT_DATE }}
- **Date:** ${{ env.COMMIT_DATE }}
- **Commit:** ${{ env.SHORT_SHA }}
---
## 🔐 APK Signature Verification
All APKs are signed with the official release certificate.
@@ -157,8 +151,6 @@ jobs:
42:A1:C6:13:BB:C6:73:04:5A:F3:DC:81:91:BF:9C:B6:45:6E:E4:4C:7D:CE:40:C7:CF:B5:66:FA:CB:69:F1:6A
```
---
**[📖 Dokumentation](https://github.com/inventory69/simple-notes-sync/blob/main/QUICKSTART.md)** · **[🐛 Issue melden](https://github.com/inventory69/simple-notes-sync/issues)**
**[📖 Documentation](https://github.com/inventory69/simple-notes-sync/blob/main/QUICKSTART.md)** · **[🐛 Report Bug](https://github.com/inventory69/simple-notes-sync/issues)**
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,63 +1,84 @@
<div align="center">
# Simple Notes Sync
**Minimalistische Offline-Notizen mit Auto-Sync zu deinem eigenen Server**
[![Android](https://img.shields.io/badge/Android-8.0%2B-3DDC84?style=for-the-badge&logo=android&logoColor=white)](https://www.android.com/)
[![Kotlin](https://img.shields.io/badge/Kotlin-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white)](https://kotlinlang.org/)
![Jetpack Compose](https://img.shields.io/badge/Jetpack%20Compose-4285F4?style=for-the-badge&logo=jetpackcompose&logoColor=white)
[![Material 3](https://img.shields.io/badge/Material_3-6750A4?style=for-the-badge&logo=material-design&logoColor=white)](https://m3.material.io/)
[![License](https://img.shields.io/badge/License-MIT-F5C400?style=for-the-badge)](LICENSE)
[<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="60">](https://apt.izzysoft.de/fdroid/index/apk/dev.dettmer.simplenotes)
[<img src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" alt="Get it on Obtainium" height="60">](http://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/inventory69/simple-notes-sync)
[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/packages/dev.dettmer.simplenotes/)
[📱 APK Download](https://github.com/inventory69/simple-notes-sync/releases/latest) · [📖 Dokumentation](docs/DOCS.de.md) · [🚀 Quick Start](QUICKSTART.de.md)
**🌍** **Deutsch** · [English](README.md)
<br />
<img src="android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" alt="Logo" />
<br /><br />
</div>
---
<h1 align="center">Simple Notes Sync</h1>
<h4 align="center">Minimalistische Offline-Notizen mit intelligentem Sync - Einfachheit trifft smarte Synchronisation.</h4>
<div align="center">
<a href="https://www.android.com/">
<img src="https://img.shields.io/badge/Android-8.0%2B-3DDC84?style=for-the-badge&logo=android&logoColor=white" alt="Android" />
</a>
<a href="https://kotlinlang.org/">
<img src="https://img.shields.io/badge/Kotlin-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white" alt="Kotlin" />
</a>
<a href="https://developer.android.com/compose/">
<img src="https://img.shields.io/badge/Jetpack%20Compose-4285F4?style=for-the-badge&logo=jetpackcompose&logoColor=white" alt="Jetpack Compose" />
</a>
<a href="https://m3.material.io/">
<img src="https://img.shields.io/badge/Material_3-6750A4?style=for-the-badge&logo=material-design&logoColor=white" alt="Material 3" />
</a>
<a href="LICENSE">
<img src="https://img.shields.io/badge/License-MIT-F5C400?style=for-the-badge" alt="License" />
</a>
</div>
<p align="center">
<a href="https://apt.izzysoft.de/fdroid/index/apk/dev.dettmer.simplenotes" style="display:inline-block;">
<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="80" style="vertical-align:middle; margin-right:10px;">
</a>
<a href="http://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/inventory69/simple-notes-sync" style="display:inline-block;">
<img src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" alt="Get it on Obtainium" height="55" style="vertical-align:middle; margin-right:10px;">
</a>
<a href="https://f-droid.org/packages/dev.dettmer.simplenotes/" style="display:inline-block;">
<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="80" style="vertical-align:middle;">
</a>
</p>
<div align="center">
<strong>SHA-256 Hash des Signaturzertifikats:</strong><br /> 42:A1:C6:13:BB:C6:73:04:5A:F3:DC:81:91:BF:9C:B6:45:6E:E4:4C:7D:CE:40:C7:CF:B5:66:FA:CB:69:F1:6A
</div>
<div align="center">
<br />[📱 APK Download](https://github.com/inventory69/simple-notes-sync/releases/latest) · [📖 Dokumentation](docs/DOCS.de.md) · [🚀 Schnellstart](QUICKSTART.de.md)<br />
**🌍** Deutsch · [English](README.md)
</div>
## 📱 Screenshots
<p align="center">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/1.png" width="250" alt="Sync-Status">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/2.png" width="250" alt="Notiz bearbeiten">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/3.png" width="250" alt="Checkliste bearbeiten">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/4.png" width="250" alt="Einstellungen">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/5.png" width="250" alt="Server-Einstellungen">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/7.png" width="250" alt="Sync-Einstellungen">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/1.png" width="250" alt="Sync status">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/2.png" width="250" alt="Edit note">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/3.png" width="250" alt="Edit checklist">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/4.png" width="250" alt="Settings">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/5.png" width="250" alt="Server settings">
<img src="fastlane/metadata/android/de-DE/images/phoneScreenshots/7.png" width="250" alt="Sync settings">
</p>
---
<div align="center">
📝 Offline-first &nbsp;&nbsp; 🔄 Smart Sync &nbsp;&nbsp; 🔒 Self-hosted &nbsp;&nbsp; 🔋 Akkuschonend
</div>
---
## ✨ Highlights
- **NEU: Checklisten** - Tap-to-Check, Drag & Drop
- 🌍 **NEU: Mehrsprachig** - Deutsch/Englisch mit Sprachauswahl
- 📝 **Offline-First** - Funktioniert ohne Internet
- 🔄 **Konfigurierbare Sync-Trigger** - onSave, onResume, WiFi-Verbindung, periodisch (15/30/60 Min), Boot
- 🔒 **Self-Hosted** - Deine Daten bleiben bei dir (WebDAV)
- 💾 **Lokales Backup** - Export/Import als JSON-Datei
- 🖥️ **Desktop-Integration** - Markdown-Export für Obsidian, VS Code, Typora
- 🔋 **Akkuschonend** - ~0.2% mit Defaults, bis zu ~1.0% mit Periodic Sync
- 🎨 **Material Design 3** - Dark Mode & Dynamic Colors
- 📝 **Offline-first** Funktioniert ohne Internet
- 📊 **Flexible Ansichten** Listen- und Grid-Layout
- **Checklisten** Tap-to-Check, Drag & Drop
- 🌍 **Mehrsprachig** Deutsch/Englisch mit Sprachauswahl
- 🔄 **Konfigurierbare Sync-Trigger** onSave, onResume, WiFi, periodisch (15/30/60 Min), Boot
- 🔒 **Self-hosted** Deine Daten bleiben bei dir (WebDAV)
- 💾 **Lokales Backup** Export/Import als JSON-Datei (optional verschlüsselt)
- 🖥️ **Desktop-Integration** Markdown-Export für Obsidian, VS Code, Typora
- 🔋 **Akkuschonend** ~0.2% mit Defaults, bis zu ~1.0% mit Periodic Sync
- 🎨 **Material Design 3** Dynamischer Dark/Light Mode & Farben
➡️ **Vollständige Feature-Liste:** [FEATURES.de.md](docs/FEATURES.de.md)
---
➡️ **Vollständige Feature-Liste:** [docs/FEATURES.de.md](docs/FEATURES.de.md)
## 🚀 Schnellstart
@@ -87,8 +108,6 @@ docker compose up -d
➡️ **Ausführliche Anleitung:** [QUICKSTART.de.md](QUICKSTART.de.md)
---
## 📚 Dokumentation
| Dokument | Inhalt |
@@ -103,8 +122,6 @@ docker compose up -d
| **[UPCOMING.de.md](docs/UPCOMING.de.md)** | Geplante Features 🚀 |
| **[ÜBERSETZEN.md](docs/TRANSLATING.de.md)** | Übersetzungsanleitung 🌍 |
---
## 🛠️ Entwicklung
```bash
@@ -112,21 +129,15 @@ cd android
./gradlew assembleStandardRelease
```
➡️ **Build-Anleitung:** [DOCS.md](docs/DOCS.md#-build--deployment)
---
➡️ **Build-Anleitung:** [docs/DOCS.de.md#-build--deployment](docs/DOCS.de.md#-build--deployment)
## 🤝 Contributing
Beiträge willkommen! Siehe [CONTRIBUTING.md](CONTRIBUTING.md)
---
## 📄 Lizenz
MIT License - siehe [LICENSE](LICENSE)
---
MIT License siehe [LICENSE](LICENSE)
<div align="center">

100
README.md
View File

@@ -1,29 +1,53 @@
<div align="center">
<br />
<img src="android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" alt="Logo" />
<br /><br />
</div>
<h1 align="center">Simple Notes Sync</h1>
<h4 align="center">Clean, offline-first notes with intelligent sync - simplicity meets smart synchronization.</h4>
<div align="center">
<a href="https://www.android.com/">
<img src="https://img.shields.io/badge/Android-8.0%2B-3DDC84?style=for-the-badge&logo=android&logoColor=white" alt="Android" />
</a>
<a href="https://kotlinlang.org/">
<img src="https://img.shields.io/badge/Kotlin-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white" alt="Kotlin" />
</a>
<a href="https://developer.android.com/compose/">
<img src="https://img.shields.io/badge/Jetpack%20Compose-4285F4?style=for-the-badge&logo=jetpackcompose&logoColor=white" alt="Jetpack Compose" />
</a>
<a href="https://m3.material.io/">
<img src="https://img.shields.io/badge/Material_3-6750A4?style=for-the-badge&logo=material-design&logoColor=white" alt="Material 3" />
</a>
<a href="LICENSE">
<img src="https://img.shields.io/badge/License-MIT-F5C400?style=for-the-badge" alt="License" />
</a>
</div>
<p align="center">
<a href="https://apt.izzysoft.de/fdroid/index/apk/dev.dettmer.simplenotes" style="display:inline-block;">
<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="80" style="vertical-align:middle; margin-right:10px;">
</a>
<a href="http://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/inventory69/simple-notes-sync" style="display:inline-block;">
<img src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" alt="Get it on Obtainium" height="55" style="vertical-align:middle; margin-right:10px;">
</a>
<a href="https://f-droid.org/packages/dev.dettmer.simplenotes/" style="display:inline-block;">
<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="80" style="vertical-align:middle;">
</a>
</p>
<div align="center">
<strong>SHA-256 hash of the signing certificate:</strong><br />42:A1:C6:13:BB:C6:73:04:5A:F3:DC:81:91:BF:9C:B6:45:6E:E4:4C:7D:CE:40:C7:CF:B5:66:FA:CB:69:F1:6A
</div>
<div align="center">
# Simple Notes Sync
**Minimalist offline notes with auto-sync to your own server**
[![Android](https://img.shields.io/badge/Android-8.0%2B-3DDC84?style=for-the-badge&logo=android&logoColor=white)](https://www.android.com/)
[![Kotlin](https://img.shields.io/badge/Kotlin-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white)](https://kotlinlang.org/)
![Jetpack Compose](https://img.shields.io/badge/Jetpack%20Compose-4285F4?style=for-the-badge&logo=jetpackcompose&logoColor=white)
[![Material 3](https://img.shields.io/badge/Material_3-6750A4?style=for-the-badge&logo=material-design&logoColor=white)](https://m3.material.io/)
[![License](https://img.shields.io/badge/License-MIT-F5C400?style=for-the-badge)](LICENSE)
[<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="60">](https://apt.izzysoft.de/fdroid/index/apk/dev.dettmer.simplenotes)
[<img src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" alt="Get it on Obtainium" height="60">](http://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/inventory69/simple-notes-sync)
[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/packages/dev.dettmer.simplenotes/)
[📱 APK Download](https://github.com/inventory69/simple-notes-sync/releases/latest) · [📖 Documentation](docs/DOCS.md) · [🚀 Quick Start](QUICKSTART.md)
<br />[📱 APK Download](https://github.com/inventory69/simple-notes-sync/releases/latest) · [📖 Documentation](docs/DOCS.md) · [🚀 Quick Start](QUICKSTART.md)<br />
**🌍** [Deutsch](README.de.md) · **English**
</div>
---
## 📱 Screenshots
<p align="center">
@@ -35,32 +59,27 @@
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/7.png" width="250" alt="Sync settings">
</p>
---
<div align="center">
📝 Offline-first &nbsp;&nbsp; 🔄 Smart Sync &nbsp;&nbsp; 🔒 Self-hosted &nbsp;&nbsp; 🔋 Battery-friendly
</div>
---
## ✨ Highlights
-**NEW: Checklists** - Tap-to-check, drag & drop
- 🌍 **NEW: Multilingual** - English/German with language selector
- 📝 **Offline-first** - Works without internet
- 📊 **Flexible views** - Switch between list and grid layout
-**Checklists** - Tap-to-check, drag & drop
- 🌍 **Multilingual** - English/German with language selector
- 🔄 **Configurable sync triggers** - onSave, onResume, WiFi-connect, periodic (15/30/60 min), boot
- 🔒 **Self-hosted** - Your data stays with you (WebDAV)
- 💾 **Local backup** - Export/Import as JSON file
- 💾 **Local backup** - Export/Import as JSON file (encryption available)
- 🖥️ **Desktop integration** - Markdown export for Obsidian, VS Code, Typora
- 🔋 **Battery-friendly** - ~0.2% with defaults, up to ~1.0% with periodic sync
- 🎨 **Material Design 3** - Dark mode & dynamic colors
- 🎨 **Material Design 3** - Dynamic dark/light mode & colors based on system settings
➡️ **Complete feature list:** [FEATURES.md](docs/FEATURES.md)
---
## 🚀 Quick Start
### 1. Server Setup (5 minutes)
@@ -89,21 +108,6 @@ docker compose up -d
➡️ **Detailed guide:** [QUICKSTART.md](QUICKSTART.md)
---
## 🔐 APK Verification
All official releases are signed with the same certificate.
**Recommended:** Verify with [AppVerifier](https://github.com/nicholson-lab/AppVerifier) (Android app)
**Expected SHA-256:**
```
42:A1:C6:13:BB:C6:73:04:5A:F3:DC:81:91:BF:9C:B6:45:6E:E4:4C:7D:CE:40:C7:CF:B5:66:FA:CB:69:F1:6A
```
---
## 📚 Documentation
| Document | Content |
@@ -125,20 +129,14 @@ cd android
➡️ **Build guide:** [DOCS.md](docs/DOCS.md#-build--deployment)
---
## 🤝 Contributing
Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md)
---
## 📄 License
MIT License - see [LICENSE](LICENSE)
---
<div align="center">
**v1.7.0** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3

View File

@@ -1,8 +1,7 @@
Grid-Ansicht: Pinterest-Style Layout ohne Lücken
Grid-Ansicht: Konsistente Abstände, Scroll-Position bleibt erhalten
• Nur-WLAN Sync Toggle in Einstellungen
VPN-Unterstützung: Sync funktioniert korrekt bei aktivem VPN
• Server-Wechsel: Sync-Status wird für alle Notizen zurückgesetzt
Self-signed SSL: Dokumentation für eigene Zertifikate
Schnellere Server-Prüfung (1s Timeout)
• "Sync läuft bereits" Feedback
Neu: Raster-Ansicht - Danke an freemen
Neu: Nur-WLAN Sync Toggle in Einstellungen
• Neu: Verschlüsselung bei lokalen Backups - Danke an @SilentCoderHere (#9)
Behoben: Sync funktioniert korrekt bei aktivem VPN - Danke an @roughnecks (#11)
Verbessert: Server-Wechsel - Sync-Status wird für alle Notizen zurückgesetzt
Verbessert: "Sync läuft bereits" Feedback bei weiteren Ausführungen
Verschiedene Fixes und UI-Verbesserungen

View File

@@ -1,62 +1,32 @@
Simple Notes Sync ist eine minimalistische Notizen-App mit WebDAV-Synchronisation.
Simple Notes Sync ist eine minimalistische Notizen-App mit WebDAV-Synchronisation und modernen Features.
HAUPTFUNKTIONEN:
Text-Notizen und Checklisten erstellen
• Checklisten mit Tap-to-Check und Drag & Drop
• Auswahlmodus: Long-Press zur Mehrfachauswahl für Batch-Aktionen
• WebDAV-Synchronisation mit eigenem Server
Hauptfunktionen:
• Text-Notizen und Checklisten (Tap-to-Check, Drag & Drop)
NEU: Raster-Ansicht (Grid View) für Notizen
• Multi-Device Sync (Handy, Tablet, Desktop)
Markdown-Export für Obsidian/Desktop-Editoren
Checklisten als GitHub-Style Task-Listen exportieren
Automatische Synchronisation im Heim-WLAN
• Konfigurierbares Sync-Interval (15/30/60 Minuten)
• Material Design 3 mit Dynamic Colors (Android 12+)
• Jetpack Compose UI - modern, schnell und flüssig
WebDAV-Synchronisation mit eigenem Server (Nextcloud, ownCloud, etc.)
Markdown-Export und Import für Desktop-Editoren (Obsidian, VS Code)
NEU: WiFi-only Sync, VPN-Unterstützung, Verschlüsselung für lokale Backups
• Konfigurierbare Sync-Trigger: onSave, onResume, WiFi, periodisch, Boot
• Komplett offline nutzbar
• Keine Werbung, keine Tracker
MEHRSPRACHIG:
Datenschutz & Sicherheit:
• Alle Daten bleiben bei dir keine Cloud, keine Tracking-Bibliotheken
• Unterstützung für selbstsignierte SSL-Zertifikate (Self-signed SSL)
• SHA-256 Hash des Signaturzertifikats in App und Releases sichtbar
• Englische und deutsche Sprachunterstützung
Per-App Sprachauswahl (Android 13+)
Automatische Systemsprachen-Erkennung
• Über 400 übersetzte Strings
Synchronisation:
Automatisch oder manuell, optimierte Performance, periodischer Sync optional
Intelligente Konfliktlösung, Lösch-Tracking, Batch-Aktionen
DATENSCHUTZ:
UI & Design:
• Moderne Jetpack Compose Oberfläche
• Material Design 3, Dynamic Colors, Dark Mode
• Animationen und Live Sync-Status
Deine Daten bleiben bei dir! Die App kommuniziert nur mit deinem eigenen WebDAV-Server. Keine Cloud-Dienste, keine Tracking-Bibliotheken, keine Analysetools.
MULTI-DEVICE SYNC:
• Notizen synchronisieren automatisch zwischen allen Geräten
• Lösch-Tracking verhindert "Zombie-Notizen"
• Intelligente Konfliktlösung durch Timestamps
• Markdown-Dateien für Desktop-Bearbeitung (Obsidian, VS Code, etc.)
• Änderungen von Desktop-Editoren werden automatisch importiert
SYNCHRONISATION:
• Unterstützt alle WebDAV-Server (Nextcloud, ownCloud, etc.)
• Konfigurierbare Sync-Trigger: Wähle einzeln, wann synchronisiert wird
• 5 Trigger: onSave (nach dem Speichern), onResume (beim Öffnen), WiFi-Connect, Periodic (15/30/60 Min), Boot
• Offline-Modus: Alle Netzwerkfunktionen mit einem Schalter deaktivieren
• Smarte Defaults: nur ereignisbasierte Trigger aktiv (~0.2%/Tag Akku)
• Periodischer Sync optional (Standard: AUS)
• Optimierte Performance: überspringt unveränderte Dateien (~2-3s Sync-Zeit)
• E-Tag Caching für 20x schnellere "keine Änderungen" Checks
• Silent-Sync Modus: kein Banner bei Auto-Sync
• Doze Mode optimiert für zuverlässige Background-Syncs
• Manuelle Synchronisation jederzeit möglich
MATERIAL DESIGN 3:
• Moderne Jetpack Compose Benutzeroberfläche
• Dynamic Colors (Material You) auf Android 12+
• Dark Mode Support
• Auswahlmodus mit Batch-Löschen
• Live Sync-Status Anzeige
• Flüssige Slide-Animationen
Mehrsprachig:
• Deutsch und Englisch, automatische Erkennung, App-Sprachauswahl
Open Source unter MIT-Lizenz
Quellcode: https://github.com/inventory69/simple-notes-sync

View File

@@ -1,8 +1,7 @@
• Grid view: Pinterest-style layout without gaps
Grid view: Consistent spacing, scroll position preserved
WiFi-only sync toggle in settings
VPN support: Sync works correctly when VPN is active
• Server change: Sync status resets to pending for all notes
Self-signed SSL: Documentation for custom certificates
Faster server check (1s timeout)
• "Sync already running" feedback
New: Grid view - Thanks to freemen
New: WiFi-only sync toggle in settings
New: Encryption for local backups - Thanks to @SilentCoderHere (#9)
Fixed: Sync works correctly when VPN is active - Thanks to @roughnecks (#11)
Improved: Server change - Sync status resets for all notes
Improved: "Sync already running" feedback for additional executions
Various fixes and UI improvements

View File

@@ -1,62 +1,32 @@
Simple Notes Sync is a minimalist note-taking app with WebDAV synchronization.
Simple Notes Sync is a minimalist note-taking app with WebDAV sync and modern features.
KEY FEATURES:
Create text notes and checklists
• Checklists with tap-to-check, drag & drop reordering
• Selection mode: long-press to select multiple notes for batch actions
• WebDAV synchronization with your own server
Key Features:
• Text notes and checklists (tap-to-check, drag & drop)
NEW: Grid view for notes
• Multi-device sync (phone, tablet, desktop)
Markdown export for Obsidian/desktop editors
Checklists export as GitHub-style task lists
Automatic synchronization on home WiFi
• Configurable sync interval (15/30/60 minutes)
• Material Design 3 with Dynamic Colors (Android 12+)
• Jetpack Compose UI - modern, fast, and smooth
WebDAV sync with your own server (Nextcloud, ownCloud, etc.)
Markdown export/import for desktop editors (Obsidian, VS Code)
NEW: WiFi-only sync, VPN support, encryption for local backups
• Configurable sync triggers: onSave, onResume, WiFi, periodic, boot
• Fully usable offline
• No ads, no trackers
MULTILINGUAL:
Privacy & Security:
• Your data stays with you no cloud, no tracking libraries
• Support for self-signed SSL certificates
• SHA-256 hash of signing certificate shown in app and releases
• English and German language support
Per-App Language selector (Android 13+)
Automatic system language detection
• 400+ translated strings
Synchronization:
Automatic or manual, optimized performance, optional periodic sync
Smart conflict resolution, deletion tracking, batch actions
PRIVACY:
UI & Design:
• Modern Jetpack Compose interface
• Material Design 3, dynamic colors, dark mode
• Animations and live sync status
Your data stays with you! The app only communicates with your own WebDAV server. No cloud services, no tracking libraries, no analytics tools.
MULTI-DEVICE SYNC:
• Notes sync automatically between all your devices
• Deletion tracking prevents "zombie notes"
• Smart conflict resolution through timestamps
• Markdown files for desktop editing (Obsidian, VS Code, etc.)
• Changes from desktop editors are auto-imported
SYNCHRONIZATION:
• Supports all WebDAV servers (Nextcloud, ownCloud, etc.)
• Configurable Sync Triggers: Choose individually when to sync
• 5 triggers: onSave (after saving), onResume (on open), WiFi-Connect, Periodic (15/30/60 min), Boot
• Offline Mode: Disable all network features with one switch
• Smart defaults: event-driven triggers only (~0.2%/day battery)
• Periodic sync optional (default: OFF)
• Optimized performance: skips unchanged files (~2-3s sync time)
• E-Tag caching for 20x faster "no changes" checks
• Silent-Sync mode: no banner during auto-sync
• Doze Mode optimized for reliable background syncs
• Manual synchronization available anytime
MATERIAL DESIGN 3:
• Modern Jetpack Compose user interface
• Dynamic Colors (Material You) on Android 12+
• Dark Mode support
• Selection mode with batch delete
• Live sync status indicator
• Smooth slide animations
Multilingual:
• English and German, automatic detection, in-app language selector
Open Source under MIT License
Source code: https://github.com/inventory69/simple-notes-sync