Skip to content

Elegante .NET MAUI Notenverwaltung mit SQLite & Cloud-Sync zu Mega.nz inkl. End-to-End Verschlüsselung. Umblätter via Fusspedal USB/COM Port Arduino Nano

License

Notifications You must be signed in to change notification settings

nobleman82/NotenOrganizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NotenOrganizer

Screenshot 2026-02-02 121521

Kurzbeschreibung

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.

Hauptfunktionen

  • 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.

Voraussetzungen

  • 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

Schnellstart (Visual Studio)

  1. Repository klonen:
    • git clone https://github.com/nobleman82/NotenOrganizer.git
  2. Projekt in Visual Studio 2026 öffnen (.sln).
  3. Projekt als Startprojekt festlegen (Set as Startup Project).
  4. Zielgerät auswählen (z. B. Android‑Emulator).
  5. Anwendung starten: Debug > Start Debugging.

Hinweis zum CLI‑Start

.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.

Wichtige Dateien / Struktur (Auszug)

  • 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).

Entwicklerhinweise & Troubleshooting

  • MegaApiClient: Auf mobilen Plattformen können Timeouts/Netzwerkprobleme auftreten — CloudService benutzt ein angepasstes WebClient mit Timeout.
  • Android: Netzwerk‑Konfigurationen (z. B. network_security_config.xml) und Berechtigungen sind vorhanden; prüfe AndroidManifest.xml, falls Verbindungsprobleme auftreten.
  • DB‑Änderungen: DatabaseService initialisiert DB beim Start, Änderungen an Schema erfordern Migrationen/Neuerstellung.
  • UI‑Events: DatabaseService.OnDataChanged wird genutzt, um die UI zu aktualisieren.

Lizenz

Lizenz: Dieses Projekt steht unter der MIT-Lizenz (siehe LICENSE).

Kontakt / Sicherheitshinweise

  • 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.