NotenOrganizer ist eine .NET MAUI App (Ziel: .NET 10) zum Verwalten, Hochladen und Synchronisieren von Notenpaketen mit einem Cloud‑Speicher (Mega). Die App bietet lokale SQLite‑Persistenz, Verschlüsselung für Cloud‑Pakete und eine einfache UI zum Anzeigen und Hochladen von Noten.
- Anzeige von Notenblättern mit umblätter Funktion
- Umblättern mittels Fusspedal (Arduino Nano mit 2 Tastern) über USB/COM Port möglich. Autoerkennung Fusschalter
- Lokale Speicherung der Metadaten in einer SQLite‑Datenbank (
DatabaseService). - Verschlüsselung/Entschlüsselung von Notenpaketen (
EncryptionService). - Upload und Synchronisation mit Mega.nz via
CG.Web.MegaApiClient(CloudService). - UI: Browser‑ähnliche Seiten (Home, Cloudspeicher, Viewer) mit .NET MAUI Blazor.
- Visual Studio 2026 (mit .NET MAUI Workload)
- .NET 10 SDK
- Android SDK / Emulator oder macOS für iOS (je nach Zielplattform)
- Optional: Netzwerkzugriff (Internet) für Cloud‑Funktionen
- Repository klonen:
git clone https://github.com/nobleman82/NotenOrganizer.git
- Projekt in Visual Studio 2026 öffnen (
.sln). - Projekt als Startprojekt festlegen (Set as Startup Project).
- Zielgerät auswählen (z. B. Android‑Emulator).
- Anwendung starten: Debug > Start Debugging.
.NET MAUI Apps werden typischerweise über Visual Studio gestartet. CLI‑Nutzung erfordert korrekt installierte MAUI‑Workloads und emulator/device setup; für schnelle Tests reicht dotnet build. Verwende Visual Studio für volle MAUI‑Erfahrung.
NotenOrganizer/MauiProgram.cs— App‑Initialisierung, DI (Services registriert).NotenOrganizer/Services/DatabaseService.cs— SQLite DB‑Zugriff.NotenOrganizer/Services/CloudService.cs— Mega Upload/Sync, enthält aktuell hardcodierte Demo‑Credentials.NotenOrganizer/Services/EncryptionService.cs— Verschlüsselung der Notenpakete.NotenOrganizer/Klassen/Note.cs,NotenWerkPaket.cs— Domain‑Modelle.NotenOrganizer/Components/Pages— Blazor/Maui UI‑Seiten (Home, Viewer, Cloudspeicher).NotenOrganizer/Components/Layout— Layout/Navigation (z. B.NavMenu.razor, Styles).
- MegaApiClient: Auf mobilen Plattformen können Timeouts/Netzwerkprobleme auftreten —
CloudServicebenutzt ein angepasstesWebClientmit Timeout. - Android: Netzwerk‑Konfigurationen (z. B.
network_security_config.xml) und Berechtigungen sind vorhanden; prüfeAndroidManifest.xml, falls Verbindungsprobleme auftreten. - DB‑Änderungen:
DatabaseServiceinitialisiert DB beim Start, Änderungen an Schema erfordern Migrationen/Neuerstellung. - UI‑Events:
DatabaseService.OnDataChangedwird genutzt, um die UI zu aktualisieren.
Lizenz: Dieses Projekt steht unter der MIT-Lizenz (siehe LICENSE).
- Falls du die App mit einem echten Cloud‑Account nutzen willst: setze Zugangsdaten sicher und entferne alle test/demo‑Secrets aus dem Code.
- Probleme beim Build oder Geräte‑Setup am besten als Issue mit Logs beschreiben.