design: Auth-Seiten als 2-Spalter + Preis-Hierarchie

- Login/Register: links Formular, rechts Vertrauens-Panel (Logo, 🇨🇭 Daten in
  der Schweiz, Backups, kündbar) → wirkt hochwertiger als nackte Box
- Preise: empfohlene Karte hervorgehoben (angehoben, Akzent-Glow, Tönung)
- responsive: Aside/Lift fällt unter 760/860px weg

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-05-31 11:38:00 +02:00
parent a4063ca985
commit 9e24ce8dd6
39 changed files with 142 additions and 80 deletions
+25 -1
View File
@@ -831,7 +831,14 @@ nav [class*="font-bold"] {
border-radius: 14px; padding: 24px; border-radius: 14px; padding: 24px;
} }
.dark .hosting-plan { background: #1a1714; border-color: #2d2926; } .dark .hosting-plan { background: #1a1714; border-color: #2d2926; }
.hosting-plan.rec { border-color: var(--rapport-accent); box-shadow: 0 0 0 1px var(--rapport-accent); } .hosting-plan.rec {
border-color: var(--rapport-accent);
box-shadow: 0 0 0 2px var(--rapport-accent), 0 18px 44px rgba(176,120,72,0.18);
background: linear-gradient(180deg, rgba(176,120,72,0.06), var(--rapport-surface) 120px);
transform: translateY(-8px);
}
@media (max-width: 860px) { .hosting-plan.rec { transform: none; } }
.hosting-plan.rec .pprice { color: var(--rapport-accent-2); }
.hosting-plan .pbadge { position: absolute; top: -10px; right: 16px; background: var(--rapport-accent); .hosting-plan .pbadge { position: absolute; top: -10px; right: 16px; background: var(--rapport-accent);
color: #fff; font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; } color: #fff; font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; }
.hosting-plan .pname { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rapport-text-3); } .hosting-plan .pname { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rapport-text-3); }
@@ -877,3 +884,20 @@ nav [class*="font-bold"] {
.rapport-footer-col a { display: block; font-size: 13px; color: var(--rapport-text-2); text-decoration: none; padding: 4px 0; } .rapport-footer-col a { display: block; font-size: 13px; color: var(--rapport-text-2); text-decoration: none; padding: 4px 0; }
.rapport-footer-col a:hover { color: var(--rapport-accent); } .rapport-footer-col a:hover { color: var(--rapport-accent); }
.rapport-footer-note { font-size: 12px; color: var(--rapport-text-3); padding: 4px 0; line-height: 1.5; } .rapport-footer-note { font-size: 12px; color: var(--rapport-text-3); padding: 4px 0; line-height: 1.5; }
/* Auth-2-Spalter (Login/Register): Formular links, Vertrauens-Panel rechts */
.hosting-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
@media (max-width: 760px) { .hosting-auth { grid-template-columns: 1fr; } .hosting-auth-aside { display: none; } }
.hosting-auth-form { padding: 8px 36px 8px 8px; }
.hosting-auth-aside {
border-left: 1px solid var(--rapport-border);
padding: 8px 8px 8px 36px;
display: flex; flex-direction: column; justify-content: center;
}
.hosting-aside-list { list-style: none; padding: 0; margin: 0; }
.hosting-aside-list li {
font-size: 14px; color: var(--rapport-text-2); padding: 9px 0;
border-bottom: 1px solid var(--rapport-border-2);
}
.hosting-aside-list li:last-child { border-bottom: none; }
.dark .hosting-auth-aside { border-left-color: #2d2926; }
+2 -2
View File
@@ -35,8 +35,8 @@
<meta name="twitter:title" content="Admin"> <meta name="twitter:title" content="Admin">
<meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0."> <meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -56,8 +56,8 @@ Limits (Benutzer, Projekte, Speicher) richten sich nach dem gewählten Plan.
1. Geltungsbereich Diese AGB gelten für alle Verträge über die Bereitstellung gehosteter Rapport-Instanzen zwischen dem Anbieter und dem Kunden (nachfolgend «Kunde»). Abweichende Bedingungen des Kunden gelten nur bei ausdrücklicher schriftlicher Zustimmung. 1. Geltungsbereich Diese AGB gelten für alle Verträge über die Bereitstellung gehosteter Rapport-Instanzen zwischen dem Anbieter und dem Kunden (nachfolgend «Kunde»). Abweichende Bedingungen des Kunden gelten nur bei ausdrücklicher schriftlicher Zustimmung.
2. Leistungsumfang Der Anbieter stellt dem Kunden eine gehostete Instanz der Rapport-Software gemäss dem gewählten Abo (Solo, Studio, Business) bereit. Der Funktionsumfang und die Limits (Benutzer, Projekte, Speicher) richten sich nach dem gewählten Plan."> 2. Leistungsumfang Der Anbieter stellt dem Kunden eine gehostete Instanz der Rapport-Software gemäss dem gewählten Abo (Solo, Studio, Business) bereit. Der Funktionsumfang und die Limits (Benutzer, Projekte, Speicher) richten sich nach dem gewählten Plan.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -33,8 +33,8 @@
<meta name="twitter:title" content="Categories"> <meta name="twitter:title" content="Categories">
<meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0."> <meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -60,8 +60,8 @@ Zahlungsdaten: Die Zahlungsabwicklung erfolgt über Stripe. Wir speichern keine
2. Welche Daten wir verarbeiten Kontodaten: E-Mail-Adresse, Passwort (verschlüsselt gespeichert), sowie optional Firma, Ansprechperson, Rechnungsadresse und Telefon. 2. Welche Daten wir verarbeiten Kontodaten: E-Mail-Adresse, Passwort (verschlüsselt gespeichert), sowie optional Firma, Ansprechperson, Rechnungsadresse und Telefon.
Zahlungsdaten: Die Zahlungsabwicklung erfolgt über Stripe. Wir speichern keine vollständigen Kreditkartendaten; Stripe verarbeitet diese als eigener Verantwortlicher."> Zahlungsdaten: Die Zahlungsabwicklung erfolgt über Stripe. Wir speichern keine vollständigen Kreditkartendaten; Stripe verarbeitet diese als eigener Verantwortlicher.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -54,8 +54,8 @@
<meta name="twitter:description" content="Vom Erstkontakt mit dem Kunden bis zur Schlussrechnung — der typische Weg eines Projekts durch Rapport. <meta name="twitter:description" content="Vom Erstkontakt mit dem Kunden bis zur Schlussrechnung — der typische Weg eines Projekts durch Rapport.
Übersicht Kunde → Offerte → Projekt → Zeit → Akonto → Schluss anlegen erstellen (aus Offerte) erfassen -Rechnung -Rechnung ↓ QR-Schein 1 · Kunde anlegen Kunden → Neu — siehe Einrichtung § 3."> Übersicht Kunde → Offerte → Projekt → Zeit → Akonto → Schluss anlegen erstellen (aus Offerte) erfassen -Rechnung -Rechnung ↓ QR-Schein 1 · Kunde anlegen Kunden → Neu — siehe Einrichtung § 3.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -67,8 +67,8 @@ Neu / Verbessert
Diverse Verbesserungen und Bugfixes (Details werden im Release auf Gitea gepflegt) Bekannte Einschränkungen Diverse Verbesserungen und Bugfixes (Details werden im Release auf Gitea gepflegt) Bekannte Einschränkungen
Builds sind Tauri-signiert, aber noch nicht Apple-notarisiert — siehe Installation § Gatekeeper Linux- und Windows-Builds noch nicht verfügbar 0.8.00.8.1 — Patch-Releases Patch-Reihe mit kleineren Verbesserungen und Bugfixes. Details siehe Releases auf Gitea ."> Builds sind Tauri-signiert, aber noch nicht Apple-notarisiert — siehe Installation § Gatekeeper Linux- und Windows-Builds noch nicht verfügbar 0.8.00.8.1 — Patch-Releases Patch-Reihe mit kleineren Verbesserungen und Bugfixes. Details siehe Releases auf Gitea .">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -62,8 +62,8 @@ Diese Seite beschreibt die Desktop-App (Single-User). Wer im Team arbeitet und R
Speicherort (Desktop-App) Die Desktop-App speichert alles lokal — keine Cloud, kein Server. Speicherort (Desktop-App) Die Desktop-App speichert alles lokal — keine Cloud, kein Server.
macOS ~/Library/Application Support/com.rapport.app/ Dort liegt eine einzelne localStorage-Datenbank des WebView, in der alle Rapport-Daten als JSON unter dem Key studio_data_v1 gespeichert sind:"> macOS ~/Library/Application Support/com.rapport.app/ Dort liegt eine einzelne localStorage-Datenbank des WebView, in der alle Rapport-Daten als JSON unter dem Key studio_data_v1 gespeichert sind:">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -59,8 +59,8 @@ Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen a
Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen auf: Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen auf:
1. Bürodaten → 2. Mitarbeiter → 3. Kunden → 4. Projekte ▼ ▼ ▼ ▼ Briefbogen, Zeiterfassung, Adressen, Zeiterfassung, QR-Schein, Lohn Rechnungen Rechnungen Login 1 · Bürodaten Einstellungen → Bürodaten"> 1. Bürodaten → 2. Mitarbeiter → 3. Kunden → 4. Projekte ▼ ▼ ▼ ▼ Briefbogen, Zeiterfassung, Adressen, Zeiterfassung, QR-Schein, Lohn Rechnungen Rechnungen Login 1 · Bürodaten Einstellungen → Bürodaten">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -125,8 +125,8 @@ macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C&#4
Voraussetzungen Tool Version Node.js ≥ 20 (für Vite 8) npm ≥ 10 Rust toolchain ≥ 1.77.2 (via rustup) Plattform-Tools siehe Tauri Prerequisites Plattform-spezifisch: Voraussetzungen Tool Version Node.js ≥ 20 (für Vite 8) npm ≥ 10 Rust toolchain ≥ 1.77.2 (via rustup) Plattform-Tools siehe Tauri Prerequisites Plattform-spezifisch:
macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C&#43;&#43; Build Tools &#43; WebView2 Linux: webkit2gtk-4.1, librsvg2-dev, libayatana-appindicator3-dev, build-essential Setup git clone https://git.kgva.ch/karim/RAPPORT.git cd RAPPORT/APP npm install Entwicklung Web-Modus (HMR, schnellster Loop) npm run dev # http://localhost:3000 Hot-Module-Replacement Schnellster Iteration-Loop für UI-Arbeit Datenpersistierung: Browser-localStorage Native Window (Tauri-Fenster mit Desktop-Integration) npx tauri dev Echtes Tauri-Fenster System-Tray, Updater, native APIs verfügbar Erster Start dauert lange (Rust-Compile) Architektur in einem Absatz RAPPORT ist eine monolithische SPA: ein React-Root in App.jsx hält den gesamten App-State in einem useState({...}), persistiert ihn synchron in localStorage unter studio_data_v1, und übergibt ihn als Props an lazy-geladene Views. Kein Routing-Framework, kein State-Library, kein TypeScript, kein CSS-Framework. Der Rust-Teil ist 109 Zeilen und macht nur drei Dinge: System-Tray, Window-Hide-on-Close, Plugin-Registrierung (Updater, Process, Log). Keine #[tauri::command] — Frontend ↔ Backend kommuniziert nur über das Event rapport:navigate (Tray → Frontend)."> macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C&#43;&#43; Build Tools &#43; WebView2 Linux: webkit2gtk-4.1, librsvg2-dev, libayatana-appindicator3-dev, build-essential Setup git clone https://git.kgva.ch/karim/RAPPORT.git cd RAPPORT/APP npm install Entwicklung Web-Modus (HMR, schnellster Loop) npm run dev # http://localhost:3000 Hot-Module-Replacement Schnellster Iteration-Loop für UI-Arbeit Datenpersistierung: Browser-localStorage Native Window (Tauri-Fenster mit Desktop-Integration) npx tauri dev Echtes Tauri-Fenster System-Tray, Updater, native APIs verfügbar Erster Start dauert lange (Rust-Compile) Architektur in einem Absatz RAPPORT ist eine monolithische SPA: ein React-Root in App.jsx hält den gesamten App-State in einem useState({...}), persistiert ihn synchron in localStorage unter studio_data_v1, und übergibt ihn als Props an lazy-geladene Views. Kein Routing-Framework, kein State-Library, kein TypeScript, kein CSS-Framework. Der Rust-Teil ist 109 Zeilen und macht nur drei Dinge: System-Tray, Window-Hide-on-Close, Plugin-Registrierung (Updater, Process, Log). Keine #[tauri::command] — Frontend ↔ Backend kommuniziert nur über das Event rapport:navigate (Tray → Frontend).">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -47,8 +47,8 @@ Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Ap
01 · Installation DMG von Gitea Releases herunterladen. Rapport in den Programme-Ordner ziehen. Beim ersten Start: Systemeinstellungen → Datenschutz &amp; Sicherheit öffnen und Rapport zulassen. 01 · Installation DMG von Gitea Releases herunterladen. Rapport in den Programme-Ordner ziehen. Beim ersten Start: Systemeinstellungen → Datenschutz &amp; Sicherheit öffnen und Rapport zulassen.
Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Apple-Notarisierung gegangen — daher der manuelle Freigabe-Schritt."> Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Apple-Notarisierung gegangen — daher der manuelle Freigabe-Schritt.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -37,8 +37,8 @@ Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. Insta
<meta name="twitter:description" content="Vollständige Anleitung zu RAPPORT — von der Installation über den täglichen Arbeitsablauf bis zur Cloud-Variante und Eigen-Builds. <meta name="twitter:description" content="Vollständige Anleitung zu RAPPORT — von der Installation über den täglichen Arbeitsablauf bis zur Cloud-Variante und Eigen-Builds.
Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. InstallationmacOS, Gatekeeper, Signatur, geplante Plattformen. EinrichtungBürodaten, Mitarbeiter, Kunden, Projekte initial anlegen. Im Alltag Typischer ArbeitsablaufKunde → Offerte → Projekt → Zeit → Rechnung. Datenhaltung &amp; BackupWo die Daten liegen, wie du sie sicherst und wiederherstellst. TroubleshootingApp startet nicht, Daten weg, Update hängt. Für Fortgeschrittene Web-Modus (Multi-User)Rapport im Browser via Supabase — für Studios mit mehreren Nutzern. Entwicklung &amp; BuildAus dem Quellcode kompilieren, beitragen, eigenes Release. ChangelogVersionsgeschichte und Breaking Changes. Hilfe &amp; Support Bei Bugs oder weiteren Fragen → Issue auf Gitea . Siehe auch die FAQ für häufige Fragen."> Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. InstallationmacOS, Gatekeeper, Signatur, geplante Plattformen. EinrichtungBürodaten, Mitarbeiter, Kunden, Projekte initial anlegen. Im Alltag Typischer ArbeitsablaufKunde → Offerte → Projekt → Zeit → Rechnung. Datenhaltung &amp; BackupWo die Daten liegen, wie du sie sicherst und wiederherstellst. TroubleshootingApp startet nicht, Daten weg, Update hängt. Für Fortgeschrittene Web-Modus (Multi-User)Rapport im Browser via Supabase — für Studios mit mehreren Nutzern. Entwicklung &amp; BuildAus dem Quellcode kompilieren, beitragen, eigenes Release. ChangelogVersionsgeschichte und Breaking Changes. Hilfe &amp; Support Bei Bugs oder weiteren Fragen → Issue auf Gitea . Siehe auch die FAQ für häufige Fragen.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -74,8 +74,8 @@ Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 M4) ✅ U
<meta name="twitter:description" content="Schritt-für-Schritt-Anleitung für die Installation der Desktop-App. <meta name="twitter:description" content="Schritt-für-Schritt-Anleitung für die Installation der Desktop-App.
Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 M4) ✅ Unterstützt macOS 12&#43; macOS Intel ⚠ Build auf Anfrage macOS 12&#43; Linux 🕐 Geplant — Windows 🕐 Geplant — Eine Portierung auf Linux und Windows ist mit Tauri 2 möglich. Issue erstellen , wenn du eine Plattform brauchst."> Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 M4) ✅ Unterstützt macOS 12&#43; macOS Intel ⚠ Build auf Anfrage macOS 12&#43; Linux 🕐 Geplant — Windows 🕐 Geplant — Eine Portierung auf Linux und Windows ist mit Tauri 2 möglich. Issue erstellen , wenn du eine Plattform brauchst.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -62,8 +62,8 @@ App startet nicht “Rapport ist beschädigt” beim ersten Start Ursache: macOS
Lösung: siehe Installation § 3. Kurz: Lösung: siehe Installation § 3. Kurz:
xattr -d com.apple.quarantine /Applications/Rapport.app App startet, zeigt aber schwarzen Bildschirm Ursache: WebView-Cache korrupt."> xattr -d com.apple.quarantine /Applications/Rapport.app App startet, zeigt aber schwarzen Bildschirm Ursache: WebView-Cache korrupt.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -97,8 +97,8 @@ Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App
Diese Seite bleibt als Referenz erhalten, der empfohlene Weg für Multi-User-Setups ist Rapport Server. Diese Seite bleibt als Referenz erhalten, der empfohlene Weg für Multi-User-Setups ist Rapport Server.
Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App — siehe Installation 25 Personen, gleicher Standort Rapport Server auf einem Mac Mini im LAN Verteiltes Team / Home-Office Rapport Server mit SSL &#43; Reverse Proxy Hosted Backend (eigener VPS) Rapport Server auf Linux-VPS Architektur (Kurzfassung) ┌────────────┐ HTTPS ┌──────────────┐ SQL ┌────────────┐ │ Browser │ ──────────────│ nginx │ ─────────────│ Postgres │ │ / Desktop │ │ (Frontend) │ │ &#43; GoTrue │ └────────────┘ └──────────────┘ │ &#43; REST │ │ &#43; Realtime │ │ &#43; Storage │ └────────────┘ Frontend: dieselbe React-App, aber Vite-Build statt Tauri (npm run build) Backend: Postgres-Stack (Rapport Server) Auth: E-Mail / Passwort über GoTrue Storage: Belege, Logos in Object-Storage Setup Alle Setup-Schritte (Repo klonen, .env erstellen, Migrations syncen, Docker-Compose starten, Reverse-Proxy konfigurieren) sind in Rapport Server dokumentiert."> Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App — siehe Installation 25 Personen, gleicher Standort Rapport Server auf einem Mac Mini im LAN Verteiltes Team / Home-Office Rapport Server mit SSL &#43; Reverse Proxy Hosted Backend (eigener VPS) Rapport Server auf Linux-VPS Architektur (Kurzfassung) ┌────────────┐ HTTPS ┌──────────────┐ SQL ┌────────────┐ │ Browser │ ──────────────│ nginx │ ─────────────│ Postgres │ │ / Desktop │ │ (Frontend) │ │ &#43; GoTrue │ └────────────┘ └──────────────┘ │ &#43; REST │ │ &#43; Realtime │ │ &#43; Storage │ └────────────┘ Frontend: dieselbe React-App, aber Vite-Build statt Tauri (npm run build) Backend: Postgres-Stack (Rapport Server) Auth: E-Mail / Passwort über GoTrue Storage: Belege, Logos in Object-Storage Setup Alle Setup-Schritte (Repo klonen, .env erstellen, Migrations syncen, Docker-Compose starten, Reverse-Proxy konfigurieren) sind in Rapport Server dokumentiert.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -46,8 +46,8 @@ Komponente Für wen Aktuelle Version Desktop-App Solo-Büro, lokale Datenhaltung
Neuerungen — siehe Changelog für Details. Neuerungen — siehe Changelog für Details.
macOS Architektur Download Apple Silicon (M1M4) RAPPORT_0.8.2_aarch64.dmg Intel (x86_64) auf Anfrage Erstinstallation: Systemeinstellungen → Datenschutz &amp; Sicherheit öffnen und Rapport zulassen. Die Builds sind über Tauri signiert, aber (noch) nicht Apple-notarisiert."> macOS Architektur Download Apple Silicon (M1M4) RAPPORT_0.8.2_aarch64.dmg Intel (x86_64) auf Anfrage Erstinstallation: Systemeinstellungen → Datenschutz &amp; Sicherheit öffnen und Rapport zulassen. Die Builds sind über Tauri signiert, aber (noch) nicht Apple-notarisiert.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -40,8 +40,8 @@ Ist Rapport kostenlos? Ja, vollständig. Quellcode unter GNU AGPL-3.0-or-later.
Für wen ist Rapport gedacht? Für kleine Architekturbüros in der Schweiz. Die Strukturen folgen der SIA 102 (Phasen, Honorar). Rapport wurde für den internen Gebrauch entwickelt und wird mit diesem Projekt öffentlich geteilt. Für wen ist Rapport gedacht? Für kleine Architekturbüros in der Schweiz. Die Strukturen folgen der SIA 102 (Phasen, Honorar). Rapport wurde für den internen Gebrauch entwickelt und wird mit diesem Projekt öffentlich geteilt.
Ist Rapport kostenlos? Ja, vollständig. Quellcode unter GNU AGPL-3.0-or-later. Keine versteckten Kosten, keine Telemetrie. Die Daten bleiben lokal auf deinem Computer bzw. in deiner Instanz. Du hast die komplette Kontrolle über deine Daten."> Ist Rapport kostenlos? Ja, vollständig. Quellcode unter GNU AGPL-3.0-or-later. Keine versteckten Kosten, keine Telemetrie. Die Daten bleiben lokal auf deinem Computer bzw. in deiner Instanz. Du hast die komplette Kontrolle über deine Daten.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -67,8 +67,8 @@ Rapport prüft beim Start automatisch auf neue Versionen und installiert Updates
Funktionsweise Beim App-Start: Funktionsweise Beim App-Start:
Abfrage gegen https://git.kgva.ch/karim/RAPPORT/releases/latest.json Versionsvergleich mit lokaler version im Tauri-Bundle Bei neuer Version → Update-Dialog Bei Bestätigung → Download &#43; Signaturprüfung &#43; Installation &#43; Neustart Sicherheit Updates werden mit dem Tauri-Updater-Schlüssel signiert Manipulierte Downloads werden abgelehnt Quellcode und Build sind reproduzierbar (Gitea CI, geplant) Optionen Update installieren — Download &amp; Neustart Diese Version überspringen — überspringt nur diese eine Version Später erinnern — beim nächsten Start erneut fragen Updates können in den Einstellungen komplett deaktiviert werden."> Abfrage gegen https://git.kgva.ch/karim/RAPPORT/releases/latest.json Versionsvergleich mit lokaler version im Tauri-Bundle Bei neuer Version → Update-Dialog Bei Bestätigung → Download &#43; Signaturprüfung &#43; Installation &#43; Neustart Sicherheit Updates werden mit dem Tauri-Updater-Schlüssel signiert Manipulierte Downloads werden abgelehnt Quellcode und Build sind reproduzierbar (Gitea CI, geplant) Optionen Update installieren — Download &amp; Neustart Diese Version überspringen — überspringt nur diese eine Version Später erinnern — beim nächsten Start erneut fragen Updates können in den Einstellungen komplett deaktiviert werden.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -37,8 +37,8 @@ Module ZeiterfassungTages- &amp; Wochenraster mit Drag &amp; Drop. Rechnungen &a
<meta name="twitter:description" content="Die Bausteine von RAPPORT — Studio-Management für Schweizer Architekturbüros. <meta name="twitter:description" content="Die Bausteine von RAPPORT — Studio-Management für Schweizer Architekturbüros.
Module ZeiterfassungTages- &amp; Wochenraster mit Drag &amp; Drop. Rechnungen &amp; OffertenQR-Einzahlungsscheine, SIA-Phasen, Akonto. Projekt- &amp; KundenverwaltungSIA 102, Budget, Phasen, Beteiligte. MitarbeiterFerien, Absenzen, Lohnabrechnung. Spesen &amp; BürobudgetBelegupload, Jahresbudget, Internes. Protokolle &amp; LieferscheineSitzungsprotokolle, Briefe, Lieferscheine. Auto-UpdaterSignierte Updates via Tauri. System-TrayHide-on-Close, Quick-Open."> Module ZeiterfassungTages- &amp; Wochenraster mit Drag &amp; Drop. Rechnungen &amp; OffertenQR-Einzahlungsscheine, SIA-Phasen, Akonto. Projekt- &amp; KundenverwaltungSIA 102, Budget, Phasen, Beteiligte. MitarbeiterFerien, Absenzen, Lohnabrechnung. Spesen &amp; BürobudgetBelegupload, Jahresbudget, Internes. Protokolle &amp; LieferscheineSitzungsprotokolle, Briefe, Lieferscheine. Auto-UpdaterSignierte Updates via Tauri. System-TrayHide-on-Close, Quick-Open.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -63,8 +63,8 @@ Ferienverwaltung, interne Stunden / Absenzen und Lohnabrechnung. Jahresabschluss
Stammdaten Pro Mitarbeiter: Stammdaten Pro Mitarbeiter:
Name, Eintrittsdatum, Pensum (%) Stundensatz (intern, für Rechnungen) Ferienanspruch (Tage / Jahr) Lohn (monatlich, brutto) Ferienverwaltung Prorata-Berechnung bei Eintritt unter Jahr Ferien-Saldo in Tagen (live) Halbtage unterstützt Übertrag ins Folgejahr oder Auszahlung Absenzen Krankheit, Militär, Mutterschaft, unbezahlter Urlaub — getrennt erfasst, mit Auswertung pro Mitarbeiter."> Name, Eintrittsdatum, Pensum (%) Stundensatz (intern, für Rechnungen) Ferienanspruch (Tage / Jahr) Lohn (monatlich, brutto) Ferienverwaltung Prorata-Berechnung bei Eintritt unter Jahr Ferien-Saldo in Tagen (live) Halbtage unterstützt Übertrag ins Folgejahr oder Auszahlung Absenzen Krankheit, Militär, Mutterschaft, unbezahlter Urlaub — getrennt erfasst, mit Auswertung pro Mitarbeiter.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -57,8 +57,8 @@ Projekte nach SIA 102 mit Budget, Phasen und Beteiligten. Erstellung aus einer O
Projektstruktur Jedes Projekt besitzt: Projektstruktur Jedes Projekt besitzt:
Stammdaten — Nummer, Bezeichnung, Standort, Bauschätzwert Kunde — verknüpft mit Kundendatenbank Beteiligte — Bauleitung, Fachplaner, Behörden Phasen — SIA 102 (Vorprojekt, Bauprojekt, Ausschreibung, …) Budget — Gesamthonorar, pro Phase aufgeteilt SIA 102 Standard-Phasenverteilung wird vorgeschlagen, kann pro Projekt überschrieben werden."> Stammdaten — Nummer, Bezeichnung, Standort, Bauschätzwert Kunde — verknüpft mit Kundendatenbank Beteiligte — Bauleitung, Fachplaner, Behörden Phasen — SIA 102 (Vorprojekt, Bauprojekt, Ausschreibung, …) Budget — Gesamthonorar, pro Phase aufgeteilt SIA 102 Standard-Phasenverteilung wird vorgeschlagen, kann pro Projekt überschrieben werden.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -80,8 +80,8 @@ Briefe Brief-Editor mit:
Empfänger aus Kundendatenbank Bezugszeile, Anrede, Text, Grussformel Briefbogen-Vorlage mit Logo PDF-Export Lieferscheine Pro Lieferung: Empfänger aus Kundendatenbank Bezugszeile, Anrede, Text, Grussformel Briefbogen-Vorlage mit Logo PDF-Export Lieferscheine Pro Lieferung:
Empfänger, Datum, Bezug Positionen (Plan-Nummer, Bezeichnung, Anzahl, Massstab) Unterschriftenfeld Konsistentes Erscheinungsbild über alle Dokumenttypen — eine Briefbogen-Vorlage, mehrere Verwendungen."> Empfänger, Datum, Bezug Positionen (Plan-Nummer, Bezeichnung, Anzahl, Massstab) Unterschriftenfeld Konsistentes Erscheinungsbild über alle Dokumenttypen — eine Briefbogen-Vorlage, mehrere Verwendungen.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -93,8 +93,8 @@ Workflow Offerte erstellen — auf Basis SIA 102 oder pauschal Kunde nimmt an
Ausgelesen aus: Ausgelesen aus:
Bürodaten — IBAN, Empfänger-Adresse Kundendaten — Schuldner-Adresse Rechnungs-Daten — Betrag, Referenz, Zusatzinformation Honorarmodelle Modell Berechnung Verwendung Stundensatz Aus Zeiterfassung × Mitarbeiter-Stundensatz Kleinaufträge, Beratung SIA-Phasen Bauschätzwert × Honorarsatz × Phasenanteil Reguläre Architektur-Aufträge Pauschal Fester Betrag Auf Wunsch des Kunden PDF-Export Druckfertige Rechnung inkl. QR-Schein. Layout aus dem Büro-Briefbogen (mit Logo). Mehrsprachig DE/FR/IT (geplant)."> Bürodaten — IBAN, Empfänger-Adresse Kundendaten — Schuldner-Adresse Rechnungs-Daten — Betrag, Referenz, Zusatzinformation Honorarmodelle Modell Berechnung Verwendung Stundensatz Aus Zeiterfassung × Mitarbeiter-Stundensatz Kleinaufträge, Beratung SIA-Phasen Bauschätzwert × Honorarsatz × Phasenanteil Reguläre Architektur-Aufträge Pauschal Fester Betrag Auf Wunsch des Kunden PDF-Export Druckfertige Rechnung inkl. QR-Schein. Layout aus dem Büro-Briefbogen (mit Logo). Mehrsprachig DE/FR/IT (geplant).">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -79,8 +79,8 @@ Datum, Betrag, Kategorie Beleg-Upload (PDF, JPG, PNG) Projekt-Zuordnung (optiona
Jahresbudget Übersicht über: Jahresbudget Übersicht über:
Einnahmen — Rechnungsbeträge, sortiert nach Eingang Ausgaben — Spesen, Bürokosten, Löhne, Sozialabzüge Saldo pro Monat / Quartal / Jahr Auswertung Einnahmen pro Kunde / Projekt Ausgaben pro Kategorie / Mitarbeiter Erfolgsrechnung pro Geschäftsjahr (vereinfacht) Verwandte Module Mitarbeiter — Spesen-Erstattung in der Lohnabrechnung Rechnungen — Einnahmen-Quelle"> Einnahmen — Rechnungsbeträge, sortiert nach Eingang Ausgaben — Spesen, Bürokosten, Löhne, Sozialabzüge Saldo pro Monat / Quartal / Jahr Auswertung Einnahmen pro Kunde / Projekt Ausgaben pro Kategorie / Mitarbeiter Erfolgsrechnung pro Geschäftsjahr (vereinfacht) Verwandte Module Mitarbeiter — Spesen-Erstattung in der Lohnabrechnung Rechnungen — Einnahmen-Quelle">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -81,8 +81,8 @@ Verhalten Aktion Verhalten Fenster schliessen (⌘W oder rotes X) App läuft im
Schnellzugriff über die Menüleiste mit Hide-on-Close. Beim Schliessen läuft Rapport im Hintergrund weiter — Cmd&#43;Q beendet die App vollständig. Schnellzugriff über die Menüleiste mit Hide-on-Close. Beim Schliessen läuft Rapport im Hintergrund weiter — Cmd&#43;Q beendet die App vollständig.
Verhalten Aktion Verhalten Fenster schliessen (⌘W oder rotes X) App läuft im Tray weiter Cmd&#43;Q App wird vollständig beendet Klick auf Tray-Icon Fenster nach vorne, oder zeigen Rechtsklick auf Tray-Icon Menü mit Schnellzugriffen Tray-Menü Rapport zeigen — Fenster nach vorne Neue Zeiterfassung — direkt im Zeit-Modul Neue Rechnung — direkt im Rechnungs-Modul Letzte Projekte — Quick-Open der letzten 5 Projekte Einstellungen Rapport beenden Konfiguration In den Einstellungen:"> Verhalten Aktion Verhalten Fenster schliessen (⌘W oder rotes X) App läuft im Tray weiter Cmd&#43;Q App wird vollständig beendet Klick auf Tray-Icon Fenster nach vorne, oder zeigen Rechtsklick auf Tray-Icon Menü mit Schnellzugriffen Tray-Menü Rapport zeigen — Fenster nach vorne Neue Zeiterfassung — direkt im Zeit-Modul Neue Rechnung — direkt im Rechnungs-Modul Letzte Projekte — Quick-Open der letzten 5 Projekte Einstellungen Rapport beenden Konfiguration In den Einstellungen:">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -58,8 +58,8 @@ Tages- und Wochenraster mit Drag &amp; Drop. Auswertungen pro Mitarbeiter und Pr
Konzept Die Zeiterfassung ist das Kernmodul von RAPPORT — alle anderen Module (Rechnungen, Auswertungen, Lohnabrechnung) greifen auf die hier erfassten Stunden zu. Konzept Die Zeiterfassung ist das Kernmodul von RAPPORT — alle anderen Module (Rechnungen, Auswertungen, Lohnabrechnung) greifen auf die hier erfassten Stunden zu.
Eingabe Wochenraster mit den 5 (oder 7) Arbeitstagen Halbstunden-Slots von 06:00 bis 22:00 Klick oder Drag über mehrere Slots Jeder Eintrag wird einem Projekt zugewiesen (Pflichtfeld) Mehrfacheinträge pro Slot möglich (z. B. parallele Telefonate) Auswertungen Pro Mitarbeiter und pro Projekt:"> Eingabe Wochenraster mit den 5 (oder 7) Arbeitstagen Halbstunden-Slots von 06:00 bis 22:00 Klick oder Drag über mehrere Slots Jeder Eintrag wird einem Projekt zugewiesen (Pflichtfeld) Mehrfacheinträge pro Slot möglich (z. B. parallele Telefonate) Auswertungen Pro Mitarbeiter und pro Projekt:">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -35,8 +35,8 @@
<meta name="twitter:title" content="Hosting-Preise"> <meta name="twitter:title" content="Hosting-Preise">
<meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0."> <meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -34,8 +34,8 @@
<meta name="twitter:title" content="Hosting"> <meta name="twitter:title" content="Hosting">
<meta name="twitter:description" content="Gehostet in der Schweiz · Ohne eigenen Server RAPPORT Hosting Ihre eigene Rapport-Instanz — in Minuten startklar. Studio-Management für Architekturbüros, gehostet, gewartet und gesichert. Sie arbeiten, wir kümmern uns um den Rest. Jetzt starten Preise ansehen ↗ Schweizer Hosting Tägliche Backups Jederzeit kündbar Keine Installation SO EINFACH"> <meta name="twitter:description" content="Gehostet in der Schweiz · Ohne eigenen Server RAPPORT Hosting Ihre eigene Rapport-Instanz — in Minuten startklar. Studio-Management für Architekturbüros, gehostet, gewartet und gesichert. Sie arbeiten, wir kümmern uns um den Rest. Jetzt starten Preise ansehen ↗ Schweizer Hosting Tägliche Backups Jederzeit kündbar Keine Installation SO EINFACH">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -66,8 +66,8 @@ Einzelunternehmen nach schweizerischem Recht. [UID/MwSt-Nr., falls vorhanden —
Verantwortlich für den Inhalt Karim Gabriele Varano, Adresse wie oben. Verantwortlich für den Inhalt Karim Gabriele Varano, Adresse wie oben.
Haftungsausschluss Die Inhalte dieser Website wurden mit grösstmöglicher Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte wird keine Gewähr übernommen. Die Nutzung des Dienstes erfolgt gemäss den AGB."> Haftungsausschluss Die Inhalte dieser Website wurden mit grösstmöglicher Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte wird keine Gewähr übernommen. Die Nutzung des Dienstes erfolgt gemäss den AGB.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -35,8 +35,8 @@
<meta name="twitter:title" content="RAPPORT"> <meta name="twitter:title" content="RAPPORT">
<meta name="twitter:description" content="Pre-Release 0.8.2 · Aktiv in Entwicklung RAPPORT Studio Administration Die Studio Management Software für Architekturbüros mit offenem Quellcode — Zeiterfassung, Rechnungen, Offerten, Projekte, Mitarbeiter und QR-Einzahlungsscheine in einer App. Download · 0.8.2 (macOS) Quellcode ↗ AGPL-3.0 Tauri &#43; React macOS (später Linux &amp; Windows) Lokal / Selfhosting ZIEL"> <meta name="twitter:description" content="Pre-Release 0.8.2 · Aktiv in Entwicklung RAPPORT Studio Administration Die Studio Management Software für Architekturbüros mit offenem Quellcode — Zeiterfassung, Rechnungen, Offerten, Projekte, Mitarbeiter und QR-Einzahlungsscheine in einer App. Download · 0.8.2 (macOS) Quellcode ↗ AGPL-3.0 Tauri &#43; React macOS (später Linux &amp; Windows) Lokal / Selfhosting ZIEL">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+23 -4
View File
@@ -39,13 +39,32 @@
function card(inner, wide) { function card(inner, wide) {
return '<div class="hosting-card' + (wide ? " wide" : "") + '">' + inner + "</div>"; return '<div class="hosting-card' + (wide ? " wide" : "") + '">' + inner + "</div>";
} }
// Auth-Karten als 2-Spalter: links Formular, rechts Vertrauens-Panel.
// (Login/Register) — wirkt deutlich hochwertiger als die nackte Box.
function authCard(formInner) {
return (
'<div class="hosting-auth">' +
'<div class="hosting-auth-form">' + formInner + "</div>" +
'<div class="hosting-auth-aside">' +
'<div class="rapport-logo-card" style="margin:0 0 28px"><div class="rapport-logo-text">RAPPORT</div><div class="rapport-logo-sub">Hosting</div></div>' +
'<ul class="hosting-aside-list">' +
"<li>🇨🇭 Daten in der Schweiz</li>" +
"<li>Tägliche Backups</li>" +
"<li>In Minuten startklar</li>" +
"<li>Monatlich kündbar</li>" +
"</ul>" +
"</div>" +
"</div>"
);
}
function msg(el, text, kind) { function msg(el, text, kind) {
el.innerHTML = text ? '<div class="hosting-msg ' + kind + '">' + esc(text) + "</div>" : ""; el.innerHTML = text ? '<div class="hosting-msg ' + kind + '">' + esc(text) + "</div>" : "";
} }
// ── Login ────────────────────────────────────────────────────────────── // ── Login ──────────────────────────────────────────────────────────────
function renderLogin() { function renderLogin() {
root.innerHTML = card( root.innerHTML = card(authCard(
'<div class="hosting-title">Anmelden</div>' + '<div class="hosting-title">Anmelden</div>' +
'<div class="hosting-sub">Zu Ihrer Rapport-Instanz</div>' + '<div class="hosting-sub">Zu Ihrer Rapport-Instanz</div>' +
'<div id="m"></div>' + '<div id="m"></div>' +
@@ -58,7 +77,7 @@
"</form>" + "</form>" +
'<div class="hosting-foot">Noch kein Konto? ' + '<div class="hosting-foot">Noch kein Konto? ' +
'<button class="hosting-link" id="toReg">Registrieren</button></div>' '<button class="hosting-link" id="toReg">Registrieren</button></div>'
); ), true);
const m = root.querySelector("#m"); const m = root.querySelector("#m");
root.querySelector("#toReg").onclick = () => go("/register/"); root.querySelector("#toReg").onclick = () => go("/register/");
root.querySelector("#f").onsubmit = async (e) => { root.querySelector("#f").onsubmit = async (e) => {
@@ -76,7 +95,7 @@
// ── Registrierung ────────────────────────────────────────────────────── // ── Registrierung ──────────────────────────────────────────────────────
function renderRegister() { function renderRegister() {
root.innerHTML = card( root.innerHTML = card(authCard(
'<div class="hosting-title">Konto erstellen</div>' + '<div class="hosting-title">Konto erstellen</div>' +
'<div class="hosting-sub">In Minuten zur eigenen Instanz</div>' + '<div class="hosting-sub">In Minuten zur eigenen Instanz</div>' +
'<div id="m"></div>' + '<div id="m"></div>' +
@@ -89,7 +108,7 @@
"</form>" + "</form>" +
'<div class="hosting-foot">Schon ein Konto? ' + '<div class="hosting-foot">Schon ein Konto? ' +
'<button class="hosting-link" id="toLogin">Anmelden</button></div>' '<button class="hosting-link" id="toLogin">Anmelden</button></div>'
); ), true);
const m = root.querySelector("#m"); const m = root.querySelector("#m");
root.querySelector("#toLogin").onclick = () => go("/login/"); root.querySelector("#toLogin").onclick = () => go("/login/");
root.querySelector("#f").onsubmit = async (e) => { root.querySelector("#f").onsubmit = async (e) => {
+2 -2
View File
@@ -35,8 +35,8 @@
<meta name="twitter:title" content="Konto"> <meta name="twitter:title" content="Konto">
<meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0."> <meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -40,8 +40,8 @@ Quellcode: git.kgva.ch/karim/RAPPORT Autor: Karim Gabriele Varano Lizenz Lizenzi
RAPPORT RAPPORT — Studio Management Software für Architekturbüros. RAPPORT RAPPORT — Studio Management Software für Architekturbüros.
Quellcode: git.kgva.ch/karim/RAPPORT Autor: Karim Gabriele Varano Lizenz Lizenziert unter GNU Affero General Public License v3.0 oder höher (AGPL-3.0-or-later )."> Quellcode: git.kgva.ch/karim/RAPPORT Autor: Karim Gabriele Varano Lizenz Lizenziert unter GNU Affero General Public License v3.0 oder höher (AGPL-3.0-or-later ).">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -35,8 +35,8 @@
<meta name="twitter:title" content="Anmelden"> <meta name="twitter:title" content="Anmelden">
<meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0."> <meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -35,8 +35,8 @@
<meta name="twitter:title" content="Registrieren"> <meta name="twitter:title" content="Registrieren">
<meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0."> <meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -40,8 +40,8 @@ Wann brauchst du Rapport Server? Szenario Lösung Ein Mensch, ein Mac Desktop-Ap
Rapport Server — der vollständige Selfhost-Stack für Rapport. Eigene Daten, eigene Domain, eigener Server. Komplett Open-Source, Docker-Compose, AGPL-3.0. Rapport Server — der vollständige Selfhost-Stack für Rapport. Eigene Daten, eigene Domain, eigener Server. Komplett Open-Source, Docker-Compose, AGPL-3.0.
Wann brauchst du Rapport Server? Szenario Lösung Ein Mensch, ein Mac Desktop-App reicht — Installation Mehrere Personen im Studio Rapport Server auf einem Mac Mini oder Linux-Server Verteiltes Team, Home-Office, Mobile-Zugriff Rapport Server mit Reverse-Proxy &#43; SSL Cloud-Hosting bei einem Anbieter Rapport Server auf VPS/Hetzner/etc. Die Desktop-App speichert lokal als JSON. Rapport Server bringt Postgres &#43; Multi-User &#43; Realtime-Sync — für alle, die zu zweit oder im Team arbeiten."> Wann brauchst du Rapport Server? Szenario Lösung Ein Mensch, ein Mac Desktop-App reicht — Installation Mehrere Personen im Studio Rapport Server auf einem Mac Mini oder Linux-Server Verteiltes Team, Home-Office, Mobile-Zugriff Rapport Server mit Reverse-Proxy &#43; SSL Cloud-Hosting bei einem Anbieter Rapport Server auf VPS/Hetzner/etc. Die Desktop-App speichert lokal als JSON. Rapport Server bringt Postgres &#43; Multi-User &#43; Realtime-Sync — für alle, die zu zweit oder im Team arbeiten.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+2 -2
View File
@@ -33,8 +33,8 @@
<meta name="twitter:title" content="Tags"> <meta name="twitter:title" content="Tags">
<meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0."> <meta name="twitter:description" content="Freie Studio Management Software für Architekturbüros — Zeiterfassung, Rechnungen, Projekte, QR-Einzahlungsscheine. Tauri &#43; React. AGPL-3.0.">
<link rel="preload" href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" as="style" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.e04bc951bd554be48799fc1f058bac06a3b6c6f359b2b2e3738656a141199265.css" rel="stylesheet" integrity="sha256-4EvJUb1VS&#43;SHmfwfBYusBqO2xvNZsrLjc4ZWoUEZkmU=" /> <link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
+23 -4
View File
@@ -39,13 +39,32 @@
function card(inner, wide) { function card(inner, wide) {
return '<div class="hosting-card' + (wide ? " wide" : "") + '">' + inner + "</div>"; return '<div class="hosting-card' + (wide ? " wide" : "") + '">' + inner + "</div>";
} }
// Auth-Karten als 2-Spalter: links Formular, rechts Vertrauens-Panel.
// (Login/Register) — wirkt deutlich hochwertiger als die nackte Box.
function authCard(formInner) {
return (
'<div class="hosting-auth">' +
'<div class="hosting-auth-form">' + formInner + "</div>" +
'<div class="hosting-auth-aside">' +
'<div class="rapport-logo-card" style="margin:0 0 28px"><div class="rapport-logo-text">RAPPORT</div><div class="rapport-logo-sub">Hosting</div></div>' +
'<ul class="hosting-aside-list">' +
"<li>🇨🇭 Daten in der Schweiz</li>" +
"<li>Tägliche Backups</li>" +
"<li>In Minuten startklar</li>" +
"<li>Monatlich kündbar</li>" +
"</ul>" +
"</div>" +
"</div>"
);
}
function msg(el, text, kind) { function msg(el, text, kind) {
el.innerHTML = text ? '<div class="hosting-msg ' + kind + '">' + esc(text) + "</div>" : ""; el.innerHTML = text ? '<div class="hosting-msg ' + kind + '">' + esc(text) + "</div>" : "";
} }
// ── Login ────────────────────────────────────────────────────────────── // ── Login ──────────────────────────────────────────────────────────────
function renderLogin() { function renderLogin() {
root.innerHTML = card( root.innerHTML = card(authCard(
'<div class="hosting-title">Anmelden</div>' + '<div class="hosting-title">Anmelden</div>' +
'<div class="hosting-sub">Zu Ihrer Rapport-Instanz</div>' + '<div class="hosting-sub">Zu Ihrer Rapport-Instanz</div>' +
'<div id="m"></div>' + '<div id="m"></div>' +
@@ -58,7 +77,7 @@
"</form>" + "</form>" +
'<div class="hosting-foot">Noch kein Konto? ' + '<div class="hosting-foot">Noch kein Konto? ' +
'<button class="hosting-link" id="toReg">Registrieren</button></div>' '<button class="hosting-link" id="toReg">Registrieren</button></div>'
); ), true);
const m = root.querySelector("#m"); const m = root.querySelector("#m");
root.querySelector("#toReg").onclick = () => go("/register/"); root.querySelector("#toReg").onclick = () => go("/register/");
root.querySelector("#f").onsubmit = async (e) => { root.querySelector("#f").onsubmit = async (e) => {
@@ -76,7 +95,7 @@
// ── Registrierung ────────────────────────────────────────────────────── // ── Registrierung ──────────────────────────────────────────────────────
function renderRegister() { function renderRegister() {
root.innerHTML = card( root.innerHTML = card(authCard(
'<div class="hosting-title">Konto erstellen</div>' + '<div class="hosting-title">Konto erstellen</div>' +
'<div class="hosting-sub">In Minuten zur eigenen Instanz</div>' + '<div class="hosting-sub">In Minuten zur eigenen Instanz</div>' +
'<div id="m"></div>' + '<div id="m"></div>' +
@@ -89,7 +108,7 @@
"</form>" + "</form>" +
'<div class="hosting-foot">Schon ein Konto? ' + '<div class="hosting-foot">Schon ein Konto? ' +
'<button class="hosting-link" id="toLogin">Anmelden</button></div>' '<button class="hosting-link" id="toLogin">Anmelden</button></div>'
); ), true);
const m = root.querySelector("#m"); const m = root.querySelector("#m");
root.querySelector("#toLogin").onclick = () => go("/login/"); root.querySelector("#toLogin").onclick = () => go("/login/");
root.querySelector("#f").onsubmit = async (e) => { root.querySelector("#f").onsubmit = async (e) => {