# mflow **mflow** ist eine leichte, in Rust geschriebene Anwendung zur Verwaltung von Projekten und Notizen. Sie basiert auf dem [Dioxus](https://dioxuslabs.com/)-Framework und unterstützt sowohl Desktop- als auch Web-Umgebungen. ## 🚀 Funktionen * **Projektverwaltung:** Erstelle, bearbeite und lösche Projekte einfach über die Seitenleiste. * **Live-Editor:** Bearbeite Projekttitel und Inhalte in Echtzeit. * **Automatische Speicherung:** * **Desktop:** Speichert Daten automatisch in einer `projects.json` Datei im Arbeitsverzeichnis. * **Web:** Nutzt den `LocalStorage` des Browsers, damit deine Daten erhalten bleiben. * **Sicherheitsabfrage:** Bestätigungsdialog beim Löschen von Projekten, um Datenverlust zu vermeiden. * **Cross-Platform:** Läuft nativ auf dem Desktop und im Browser (WASM). ## 🛠️ Technologien * **Sprache:** [Rust](https://www.rust-lang.org/) (Edition 2021) * **UI Framework:** [Dioxus](https://dioxuslabs.com/) (v0.7.1) * **Daten-Serialisierung:** `serde` & `serde_json` * **Storage (Web):** `gloo-storage` ## 📦 Installation & Nutzung Stelle sicher, dass du [Rust](https://rustup.rs/) und die [Dioxus CLI](https://dioxuslabs.com/learn/0.6/getting_started) installiert hast. ```bash # Dioxus CLI installieren (falls noch nicht vorhanden) cargo install dioxus-cli ``` ### Projekt klonen ```bash git clone https://github.com/dein-username/mflow.git cd mflow ``` ### 🖥️ Desktop starten Um die Anwendung als native Desktop-App zu starten: ```bash # Mit Dioxus CLI (empfohlen, unterstützt Hot-Reloading) dx serve --platform desktop # Oder klassisch mit Cargo cargo run --features desktop ``` ### 🌐 Web-Version starten Um die Anwendung im Browser zu starten: ```bash dx serve --platform web ``` Die Anwendung ist dann unter `http://localhost:8080` erreichbar. ## 📂 Projektstruktur * `src/main.rs`: Einstiegspunkt der Anwendung. * `src/ui.rs`: Enthält die Hauptlogik und UI-Komponenten (`Hero` Component). * `assets/`: Statische Dateien wie CSS und Icons. * `Dioxus.toml`: Konfiguration für das Dioxus-Tooling. ## 📝 Lizenz Dieses Projekt wurde erstellt von [Bytemalte].