691 lines
28 KiB
Plaintext
691 lines
28 KiB
Plaintext
{
|
|
"nodes": [
|
|
{
|
|
"id": "d5d3db1765287eef",
|
|
"type": "text",
|
|
"x": 0,
|
|
"y": -460,
|
|
"width": 1140,
|
|
"height": 380,
|
|
"text": "# 🗺 HiveGrid Feature Map (v1)\nJede Karte = **ein Feature**. Das Ticket steht nur als Referenz dran. Übergreifende Sachen (App-Gerüst, UI-Baukasten, Feinschliff) liegen unter **Basis**.\n\n**Farben:**\n🟢 fertig/validiert · 🔴 Sonder-UI, wird von Hand designt (Tage) · 🔵 wird aus dem UI-Baukasten zusammengesteckt (Stunden) · 🟠 Mischung aus beidem · 🟣 Basis · 🟡 Feinschliff\n\n**Marker:** 🌐 öffentlich sichtbar (höchster Anspruch) · 📱 Monteur-Handy, teils offline\n\n**Pfeile:** orange = Hauptkette (Anfrage → Auftrag → Geld) · grau = klare Querverbindung. Gilt etwas für **alle** Features (Automationen, Aufgaben/Dateien, Benachrichtigungen, Verbindungs-Gerüst), steht es als Text auf der Karte statt als Pfeil.\n\nAbhaklisten & Details: [[HiveGrid Map]]"
|
|
},
|
|
{
|
|
"id": "41b8d85d3bb8d47d",
|
|
"type": "group",
|
|
"x": 0,
|
|
"y": 0,
|
|
"width": 1540,
|
|
"height": 480,
|
|
"label": "BASIS — gilt für alle Features",
|
|
"color": "6"
|
|
},
|
|
{
|
|
"id": "b3cad562971d30a5",
|
|
"type": "text",
|
|
"x": 40,
|
|
"y": 80,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## App-Gerüst (Sidebar, Topbar & Design)\n**Ticket:** `D-D0a` · **Status:** ⬜ offen\n**Wo:** überall in der App\n\n**Was drin ist:** Sidebar (Module ein-/ausblendbar je Abo, Handy-Variante 📱), Topbar (Workspace-Wechsler, Suche, Glocke, Profil-Menü), Breadcrumb, Warn-Banner (z. B. »Zahlung offen«), Erfolgs-/Fehlermeldungen\n\n**Warum wichtig:** Der Rahmen, in dem jedes Feature steckt — inkl. Farben, Schriften, Hell/Dunkel. **Ohne das geht fast nichts anderes.**",
|
|
"color": "6"
|
|
},
|
|
{
|
|
"id": "d53e7ea48a9b1e6c",
|
|
"type": "text",
|
|
"x": 540,
|
|
"y": 80,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## UI-Baukasten (Listen, Formulare, Modals …)\n**Ticket:** `D-D0b` · **Status:** ✅ validiert\n**Wo:** überall in der App\n\n**Was drin ist:** Fertige Bausteine: Listen mit Filter, Detail-Seiten, Formular-Felder (12 Typen), Dialoge/Wizards, Settings-Seiten, Leer-/Lade-/Fehler-Zustände + Kleinteile (Buttons, Tags, Charts, Unterschriften-Feld …)\n\n**Warum wichtig:** Einmal designen, überall wiederverwenden. Layout-Standards liegen in `04 Standards`. ✅ Bereits erledigt.",
|
|
"color": "4"
|
|
},
|
|
{
|
|
"id": "c02969250252a3ab",
|
|
"type": "text",
|
|
"x": 1040,
|
|
"y": 80,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Feinschliff vor Launch\n**Ticket:** `D-POLISH` · **Status:** ⬜ offen\n**Wo:** 🌐 alles öffentlich Sichtbare\n\n**Was drin ist:** Letzter Polier-Durchgang: Terminbuchungs-Seite, öffentliche Formulare, Marketing-Mails · danach Screenshots als »So muss es aussehen«-Referenz einfrieren\n\n**Warum wichtig:** Kommt ganz am Ende, direkt vor dem Launch. Braucht Terminbuchung + Dashboard fertig.",
|
|
"color": "3"
|
|
},
|
|
{
|
|
"id": "7a26f88c260892eb",
|
|
"type": "group",
|
|
"x": 1700,
|
|
"y": 0,
|
|
"width": 540,
|
|
"height": 480,
|
|
"label": "WEBSITE 🌐",
|
|
"color": "3"
|
|
},
|
|
{
|
|
"id": "ce5632682989a6ca",
|
|
"type": "text",
|
|
"x": 1740,
|
|
"y": 80,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Website (Landing & Demo-Anfrage)\n**Ticket:** `D-WEB` · **Status:** ⬜ offen\n**Wo:** 🌐 hivegrid.de\n\n**Was drin ist:** Startseite, Features-Seite, Preise-Teaser, Demo-Anfrage-Formular\n\n**Warum wichtig:** Der erste Eindruck nach außen. Farben/Schriften sind dieselben wie in der App. Demo-Anfragen landen im Lead-Eingang.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "2025c7621bb63c98",
|
|
"type": "group",
|
|
"x": 2400,
|
|
"y": 0,
|
|
"width": 540,
|
|
"height": 480,
|
|
"label": "LOGIN & ZUGÄNGE",
|
|
"color": "4"
|
|
},
|
|
{
|
|
"id": "3e27875daca5713d",
|
|
"type": "text",
|
|
"x": 2440,
|
|
"y": 80,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Login, Registrierung & Workspace\n**Ticket:** `D-P2` · **Status:** ✅ validiert / in Subframe\n**Wo:** Login-Seiten + Einstellungen\n\n**Was drin ist:** Registrierung, Login + 2FA, Passwort vergessen/ändern, Workspace-Auswahl + neuer Workspace, Profil & Sicherheit, Mitarbeiter & Rollen (Admin)\n\n**Stand:** 9 Wireframe-Pakete fertig gebaut. Konto/Workspace löschen bewusst geparkt. → `02 Wireframes/P2 Auth/`",
|
|
"color": "4"
|
|
},
|
|
{
|
|
"id": "db7d9db3cd7939b0",
|
|
"type": "group",
|
|
"x": 3100,
|
|
"y": 0,
|
|
"width": 1040,
|
|
"height": 480,
|
|
"label": "SUCHE & DASHBOARD"
|
|
},
|
|
{
|
|
"id": "89c0813f7e139a88",
|
|
"type": "text",
|
|
"x": 3140,
|
|
"y": 80,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Dashboard (Startseite)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** `/dashboard`\n\n**Was drin ist:** 3 feste Ansichten je Rolle: Chef (Umsatz, Projekte, Auslastung) · Büro (Projekte, Aufgaben, Anrufe) · Monteur 📱 (meine Termine, Projekte, Aufgaben)\n\n**So funktioniert's:** Kacheln mit Zahlen, Listen und Trend-Charts, live aktualisiert. Kein freies Umbauen in v1 — nur Filter/Zeitraum einstellbar.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "4a4e5be847a54e5f",
|
|
"type": "text",
|
|
"x": 3640,
|
|
"y": 80,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Suche (Cmd+K)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/search`\n\n**Was drin ist:** Such-Fenster per Tastenkürzel: tippen, Treffer nach Typ gruppiert, mit Pfeiltasten navigieren · dazu große Such-Seite mit Filtern\n\n**So funktioniert's:** Findet Kontakte, Projekte, Dateien usw. — zeigt nur, was man sehen darf.",
|
|
"color": "1"
|
|
},
|
|
{
|
|
"id": "88792c50986c93db",
|
|
"type": "group",
|
|
"x": 1700,
|
|
"y": 680,
|
|
"width": 1540,
|
|
"height": 480,
|
|
"label": "VERTRIEB — vom Anruf zum Auftrag",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "8272764aa65537b0",
|
|
"type": "text",
|
|
"x": 1740,
|
|
"y": 760,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Lead-Eingang (Anfragen)\n**Ticket:** `D-P7` · **Status:** ⬜ offen\n**Wo:** `/leads`\n\n**Was drin ist:** Eingangs-Liste aller Anfragen (mit Quelle, Spam-Verdacht, Duplikat-Hinweis), Anfrage-Detail, »Zu Projekt machen«, Statistiken, Quellen-Verwaltung, Spam-Schutz-Einstellungen\n\n**So funktioniert's:** Alle Anfragen (Website, Formulare, Anrufe, Buchungen) landen hier. Wer sie bearbeiten darf (Freigabe = ja), macht daraus ein Projekt und hängt den Kontakt dran.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "d9868dadb782f253",
|
|
"type": "text",
|
|
"x": 2240,
|
|
"y": 760,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Kontakte & Organisationen\n**Ticket:** `D-CRM` · **Status:** ⬜ offen\n**Wo:** `/contacts`\n\n**Was drin ist:** Kontakt-Liste, Organisations-Liste, Kontakt-Detailseite (die Vorlage für ALLE Detailseiten), eigene Felder, Tags, Duplikate zusammenführen\n\n**So funktioniert's:** Ein Kontakt ist Privatperson oder Organisation und hat einen Status (Kontakt → Kunde → Bestandskunde). Auf der Detailseite sieht man alles: Projekte, Mails, Anrufe, Aufgaben, Dateien, Notizen.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "e10a35560a461111",
|
|
"type": "text",
|
|
"x": 2740,
|
|
"y": 760,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Kanban-Board & Pipelines (Projekte)\n**Ticket:** `D-P8` + `D-KANBAN` · **Status:** ⬜ offen\n**Wo:** `/projects` + Admin\n\n**Was drin ist:** Kanban-Board mit Spalten je Status (Karten ziehen = Status wechseln), Projekt-Liste, Projekt-Detailseite, Pipeline-Einstellungen (Spalten, Rechte, Pflichtfelder), Verlust-Gründe\n\n**So funktioniert's:** Ein Projekt wandert durch Boards — »Vertrieb« und »Auftrag« sind nur zwei Boards für denselben Datensatz. Gewonnen = wechselt aufs Auftrags-Board. Wer welche Felder sieht (z. B. Umsatz), ist einstellbar.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "77c19412215a977c",
|
|
"type": "group",
|
|
"x": 3500,
|
|
"y": 680,
|
|
"width": 1540,
|
|
"height": 480,
|
|
"label": "AUFTRAG & BAUSTELLE",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "4bb807ef5e3c8dee",
|
|
"type": "text",
|
|
"x": 3540,
|
|
"y": 760,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Projekt-Akte (Auftrag) 📱\n**Ticket:** `D-P9` · **Status:** ⬜ offen\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Reiter am Projekt: Team-Mitglieder, Termine, **Rechnungen (neu in v1)**, Checklisten & Mängel, Aufgaben, Dateien, Abnahmen · dazu Projekt-Vorlagen und Abnahme-Formular-Vorlagen\n\n**So funktioniert's:** Alles zum Auftrag an einem Ort. Am Handy reduziert: Stammdaten, heutige Aufgaben, Abnahme-Knopf, Foto direkt hochladen.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "3f83fa1a16ae69df",
|
|
"type": "text",
|
|
"x": 4040,
|
|
"y": 760,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Plantafel (Einsatzplanung) 📱\n**Ticket:** `D-PLAN` · **Status:** ⬜ offen\n**Wo:** `/projects/plantafel`\n\n**Was drin ist:** Planungs-Raster: Zeilen = Mitarbeiter, Spalten = Zeit. Einsätze per Ziehen verschieben/verlängern, Klick auf freien Slot = neuer Einsatz\n\n**So funktioniert's:** Warnt bei Konflikten (doppelt verplant, Urlaub/krank, außerhalb Arbeitszeit) — zuweisen geht trotzdem. Monteure sehen am Handy »Meine Termine heute« mit Adresse + Navi, auch offline.",
|
|
"color": "1"
|
|
},
|
|
{
|
|
"id": "d9ad572ae83b4d0a",
|
|
"type": "text",
|
|
"x": 4540,
|
|
"y": 760,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Abnahme (Baustellen-Protokoll) 📱\n**Ticket:** `D-ABN` · **Status:** ⬜ offen\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Abnahme-Formular (Druckprobe, Funktionsprüfung, Zählerstände, übergebene Dokumente), Mängel mit Foto festhalten, Unterschrift Kunde + Monteur direkt am Handy, Liste aller Abnahmen je Projekt\n\n**So funktioniert's:** Nach dem Speichern unveränderbar (6 Jahre Aufbewahrung), PDF geht automatisch per Mail an den Kunden. Funktioniert offline, lädt später hoch. Mängel werden automatisch Aufgaben.",
|
|
"color": "1"
|
|
},
|
|
{
|
|
"id": "00d6b92d3845c185",
|
|
"type": "group",
|
|
"x": 0,
|
|
"y": 1400,
|
|
"width": 1040,
|
|
"height": 480,
|
|
"label": "E-MAIL-MARKETING"
|
|
},
|
|
{
|
|
"id": "ab16fe58ff28c0ac",
|
|
"type": "text",
|
|
"x": 40,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Kampagnen & Empfängerlisten\n**Ticket:** `D-KAMP` · **Status:** ⬜ offen\n**Wo:** `/email-marketing`\n\n**Was drin ist:** Kampagne erstellen in 6 Schritten (Absender → Inhalt → Empfänger → Test-Mail → Zeitpunkt → Check) · Empfängerlisten (Segmente) mit Filtern bauen\n\n**So funktioniert's:** Vor dem Versand prüft eine Checkliste alles Rechtliche (Domain bestätigt? Abmelde-Link? Impressum?) — bei Rot wird nicht gesendet.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "4cce52e2e3bd8823",
|
|
"type": "text",
|
|
"x": 540,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Versand-Technik & Statistiken 🌐\n**Ticket:** `D-P14` · **Status:** ⬜ offen\n**Wo:** `/email-marketing` + Einstellungen\n\n**Was drin ist:** Eigene Absender-Domain einrichten (mit Copy-Paste-Anleitung), Kampagnen-Übersicht + Statistiken (zugestellt/geöffnet/geklickt), gesperrte Empfänger, Vorlagen, 🌐 Abmelde-Seite\n\n**So funktioniert's:** Mails an Kunden tauchen automatisch am Kontakt auf (BCC-Trick, kein Postfach-Anschluss nötig — der kommt in v2).",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "ca7223940f6e1d29",
|
|
"type": "group",
|
|
"x": 1700,
|
|
"y": 1400,
|
|
"width": 2040,
|
|
"height": 480,
|
|
"label": "TERMINE & FORMULARE"
|
|
},
|
|
{
|
|
"id": "6b8c7d3bc3ee7449",
|
|
"type": "text",
|
|
"x": 1740,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Formulare (Baukasten) 🌐\n**Ticket:** `D-FORM` + `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** `/forms` + öffentlicher Link\n\n**Was drin ist:** Formular-Baukasten (Felder per Ziehen anordnen, Wenn-Dann-Logik »zeige Feld X wenn …«, Live-Vorschau), 🌐 öffentliches Formular zum Teilen (Link, QR-Code, Einbetten), Antworten-Übersicht\n\n**So funktioniert's:** Was nach dem Absenden passiert, ist einstellbar: Anfrage/Aufgabe anlegen, Mail senden, Automation starten. Dieselben Formulare stecken auch in HR-Anträgen und der Terminbuchung.",
|
|
"color": "1"
|
|
},
|
|
{
|
|
"id": "77ebfde5a3a05b8a",
|
|
"type": "text",
|
|
"x": 2240,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Online-Terminbuchung 🌐\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** 🌐 Buchungslink + `/bookings`\n\n**Was drin ist:** 🌐 Buchungs-Seite für Kunden (freien Termin wählen → Formular → Bestätigung mit Kalender-Datei), intern: Buchungs-Liste (verschieben, stornieren, No-Show), Buchungsseiten-Editor, Verfügbarkeits-Zeiten\n\n**So funktioniert's:** Kunde bucht selbst, der erste freie Mitarbeiter bekommt den Termin, die Anfrage landet im Lead-Eingang. Muss am schönsten aussehen — ist öffentlich.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "28bd46ecb4eaa069",
|
|
"type": "text",
|
|
"x": 2740,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Kalender\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** `/calendar` + Einstellungen\n\n**Was drin ist:** Monats-/Wochen-Ansicht mit allen Terminen (Google-Kalender + Buchungen + Plantafel, je mit Herkunfts-Marker), Google-Kalender verbinden, Konflikt-Übersicht\n\n**So funktioniert's:** Läuft in beide Richtungen mit Google (Outlook kommt in v2). Fremde private Termine erscheinen nur als »belegt«.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "b789fc765f833f45",
|
|
"type": "text",
|
|
"x": 3240,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Digital unterschreiben (E-Signatur)\n**Ticket:** `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Angebot als PDF hochladen → Unterzeichner festlegen → Kunde unterschreibt per Link (mit SMS/Mail-Code) oder direkt auf dem Gerät → Status je Unterzeichner, Erinnerung, Widerruf\n\n**So funktioniert's:** Hängt direkt am Projekt (»Angebot zur Signatur senden«). Eigene Lösung, kein Pflicht-Drittanbieter.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "e97e13901e405fcd",
|
|
"type": "group",
|
|
"x": 4200,
|
|
"y": 1400,
|
|
"width": 1540,
|
|
"height": 480,
|
|
"label": "KOMMUNIKATION"
|
|
},
|
|
{
|
|
"id": "401d8270854bebac",
|
|
"type": "text",
|
|
"x": 4240,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Team-Chat 📱\n**Ticket:** `D-CHAT` · **Status:** ⬜ offen\n**Wo:** `/chat`\n\n**Was drin ist:** Channel-Liste, Chat-Verlauf (Antwort-Threads, Emoji-Reaktionen, gelesen-von, Anhänge), Erwähnungen mit @, angepinnte Nachrichten, Suche, Direktnachrichten\n\n**So funktioniert's:** Jedes Projekt kann seinen eigenen Channel haben (Team wird automatisch synchron gehalten). Monteure: vereinfachte Handy-Ansicht mit Foto-Direktupload. Admin kann DMs nur mit Begründung einsehen.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "29ca06733a9b243b",
|
|
"type": "text",
|
|
"x": 4740,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Telefonie (Anrufe)\n**Ticket:** `D-P15` · **Status:** ⬜ offen\n**Wo:** `/calls` + Einstellungen\n\n**Was drin ist:** AirCall verbinden (Telefon-Nutzer zuordnen), Anruf-Liste + Detail (Notiz, Aufnahme), Anruf-Knopf direkt an Kontakt/Anfrage/Projekt\n\n**So funktioniert's:** Anrufe werden automatisch dem richtigen Kontakt zugeordnet. Unbekannte Nummer ruft an → wird automatisch eine Anfrage im Lead-Eingang.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "50945ed6e43505ce",
|
|
"type": "text",
|
|
"x": 5240,
|
|
"y": 1480,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Benachrichtigungen\n**Ticket:** `D-P3` (Teil) · **Status:** ⬜ offen\n**Wo:** Glocke oben + Einstellungen\n\n**Was drin ist:** Glocke mit Ungelesen-Zähler + aufklappbare Liste (Klick springt zur Sache), eigene Seite mit allen Meldungen, Einstellungen: pro Ereignis-Typ wählen ob In-App und/oder E-Mail\n\n**So funktioniert's:** Wird von allen Features gespeist (neue Anfrage, Aufgabe fällig, Antrag genehmigt …). Master-Schalter »alle E-Mails aus«.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "070f258760fab4e9",
|
|
"type": "group",
|
|
"x": 0,
|
|
"y": 2120,
|
|
"width": 1040,
|
|
"height": 480,
|
|
"label": "AUFGABEN & DATEIEN — stecken in jedem Feature"
|
|
},
|
|
{
|
|
"id": "e21930b7073823f8",
|
|
"type": "text",
|
|
"x": 40,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Aufgaben\n**Ticket:** `D-P4` (Teil) · **Status:** ⬜ offen\n**Wo:** `/tasks` + überall als Reiter\n\n**Was drin ist:** Aufgaben-Liste (Meine / von mir erstellt / Alle), Aufgabe mit Frist, Priorität, Zuständigem (Person oder Gruppe), Beobachtern und Verknüpfung (Kontakt/Projekt/…)\n\n**So funktioniert's:** Einmal gebaut, überall eingebettet — jede Detailseite hat einen Aufgaben-Reiter. Aufgaben können auch aus Chat, Formularen oder Automationen entstehen (Herkunft sichtbar). Erinnerung vor/nach Frist.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "036e2a807223753d",
|
|
"type": "text",
|
|
"x": 540,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Dateien\n**Ticket:** `D-P4` (Teil) · **Status:** ⬜ offen\n**Wo:** `/files` + überall als Reiter\n\n**Was drin ist:** Datei-Übersicht (Tabelle oder Kacheln, Filter, Mehrfach-Aktionen inkl. ZIP), Upload per Drag&Drop (mehrere gleichzeitig, mit Fortschritt), Datei-Detail mit Vorschau\n\n**So funktioniert's:** Dateien hängen an Kontakten/Projekten/… mit Rolle (z. B. »Angebot«). iPhone-Fotos (HEIC) werden automatisch zu JPG. Versionen kommen in v2.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "8acc5d7d61317076",
|
|
"type": "group",
|
|
"x": 1200,
|
|
"y": 2120,
|
|
"width": 1040,
|
|
"height": 480,
|
|
"label": "AUTOMATIONEN"
|
|
},
|
|
{
|
|
"id": "8f3127f03a5bab96",
|
|
"type": "text",
|
|
"x": 1240,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Automations-Baukasten (Flow-Editor)\n**Ticket:** `D-FLOW` · **Status:** ⬜ offen\n**Wo:** `/automations/:id/edit`\n\n**Was drin ist:** Zeichenfläche mit Bausteinen: Auslöser (neue Anfrage, Formular abgeschickt, Zeitplan …) und Aktionen (Aufgabe anlegen, Mail senden, Wenn-Dann, Warten …) per Ziehen verbinden\n\n**So funktioniert's:** Alles in verständlichem Deutsch beschriftet. Vor dem Aktivieren zeigt eine Probe-Vorschau »trifft X Datensätze« — erst bestätigen, dann läuft's. Warnt vor Endlos-Schleifen. **Aufwendigste UI der ganzen App.**",
|
|
"color": "1"
|
|
},
|
|
{
|
|
"id": "e6d8c36a0f89d954",
|
|
"type": "text",
|
|
"x": 1740,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Automationen: Übersicht & Verläufe\n**Ticket:** `D-P12` · **Status:** ⬜ offen\n**Wo:** `/automations`\n\n**Was drin ist:** Liste aller Automationen (aktiv/pausiert/Entwurf), Lauf-Protokolle Schritt für Schritt in Klartext, Vorlagen-Katalog (SHK-Vorlagen + eigene)\n\n**So funktioniert's:** Jeder Lauf ist nachvollziehbar; 24 h lang rückgängig machbar (Countdown-Knopf), fehlgeschlagene Schritte neu anstoßen.",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "3c6e5b1ea4a27913",
|
|
"type": "group",
|
|
"x": 3700,
|
|
"y": 2120,
|
|
"width": 540,
|
|
"height": 480,
|
|
"label": "HR (MITARBEITER)"
|
|
},
|
|
{
|
|
"id": "03e8e03ef11606a0",
|
|
"type": "text",
|
|
"x": 3740,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## HR-Bereich 📱\n**Ticket:** `D-HR` · **Status:** ⬜ offen\n**Wo:** `/hr` + HR-Admin\n\n**Was drin ist:** Startseite (Ankündigungen, offene Anträge, wer ist heute da), Urlaub & Krankmeldung (mit Genehmigung), Lohnabrechnungen, Anträge (Spesen, Hardware …), Passwort-Safe, Umfragen, Mitarbeiter-Verzeichnis, Standorte, eigene Dokumente\n\n**So funktioniert's:** Mitarbeiter-Sicht und HR-Verwaltung sind strikt getrennt; sensible Daten verschlüsselt, jedes Aufdecken protokolliert. Urlaub/krank fließt direkt in die Plantafel-Konflikte.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "904c5ece127e2e4c",
|
|
"type": "group",
|
|
"x": 4400,
|
|
"y": 2120,
|
|
"width": 1540,
|
|
"height": 880,
|
|
"label": "VERWALTUNG (WORKSPACE-EINSTELLUNGEN)"
|
|
},
|
|
{
|
|
"id": "5c72e7b04059503a",
|
|
"type": "text",
|
|
"x": 4440,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Integrationen (Apps verbinden)\n**Ticket:** `D-P5` · **Status:** ⬜ offen\n**Wo:** `/admin/integrations`\n\n**Was drin ist:** App-Katalog (nach Kategorie, mit Status-Ampel), Verbindung einrichten per Schritt-für-Schritt-Assistent, Verbindungs-Zustand + Sync-Verlauf in Klartext\n\n**So funktioniert's:** Das gemeinsame Gerüst für alle Anbindungen — E-Mail, Telefonie, Kalender, Signatur nutzen alle dieselben Verbindungs-Karten.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "0f6acf7087283c0c",
|
|
"type": "text",
|
|
"x": 4940,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Aktivitäts-Protokoll (Audit-Log)\n**Ticket:** `D-P3` (Teil) · **Status:** ⬜ offen\n**Wo:** `/admin/audit`\n\n**Was drin ist:** Wer hat wann was geändert — als deutscher Klartext-Satz, mit Filter und Vorher/Nachher-Vergleich, Export mit Zweck-Angabe\n\n**So funktioniert's:** Der gleiche Verlauf ist auch an jedem Datensatz einblendbar (»Verlauf dieses Objekts«). Unterscheidet Mensch / Automation / Agent / Admin.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "6b3c0929759a607b",
|
|
"type": "text",
|
|
"x": 5440,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Abo & Rechnungen (für HiveGrid)\n**Ticket:** `D-P20` (Teil) · **Status:** ⚠️ Ticket braucht Recut\n**Wo:** `/admin/subscription`\n\n**Was drin ist:** Abo-Übersicht (Plan, Plätze, gebuchte Module, Test-Countdown), Verbrauchs-Balken (Automations-Läufe, Speicher), Rechnungen + Zahlungsstatus\n\n**Achtung:** Das Ticket wird gerade umgeschnitten (neuer Abrechnungs-Unterbau) — erst planen, wenn der Brief neu steht. Kein Selbst-Upgrade in v1.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "b334f15bdd19d9ad",
|
|
"type": "text",
|
|
"x": 4440,
|
|
"y": 2600,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Erste Schritte & Demo-Daten\n**Ticket:** `D-P20` (Teil) · **Status:** ⬜ offen\n**Wo:** `/onboarding` + Admin\n\n**Was drin ist:** Erste-Schritte-Checkliste (mit Direkt-Links, abhakbar, ausblendbar), Beispieldaten-Knopf (anlegen, zählen, wieder löschen, »Demo ausblenden«-Filter), Hell/Dunkel-Umschalter\n\n**So funktioniert's:** Kein Einrichtungs-Assistent — beim Registrieren wird alles SHK-typisch vorbefüllt, die Checkliste führt danach durch.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "6533d410b309a48f",
|
|
"type": "text",
|
|
"x": 4940,
|
|
"y": 2600,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Datenschutz (Export & Löschung)\n**Ticket:** `D-P21` (Teil) · **Status:** ⬜ offen\n**Wo:** `/admin/privacy` + Einstellungen\n\n**Was drin ist:** Daten-Export als ZIP (für einen Nutzer oder den ganzen Workspace), Workspace-Löschung (mehrstufig, 30 Tage Schonfrist, Passwort + 2FA), Konto-Löschung, Liste der Unterauftragsverarbeiter, AVV-Vertrag\n\n**So funktioniert's:** Letzter Baustein vor dem Launch. DSGVO-Auskunftsanfragen laufen in v1 als manuelle Anleitung, ohne eigenen Assistenten.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "db76161d24fb0c1d",
|
|
"type": "text",
|
|
"x": 5440,
|
|
"y": 2600,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Feedback & Hilfe\n**Ticket:** `D-P21` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/help`\n\n**Was drin ist:** Schwebender Feedback-Knopf (Fehler melden / Idee / Frage, optional mit Screenshot), kleine FAQ-Seite\n\n**So funktioniert's:** Meldungen landen direkt in unserer Support-Inbox im Plattform-Admin.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "c3172228336521df",
|
|
"type": "group",
|
|
"x": 6100,
|
|
"y": 2120,
|
|
"width": 540,
|
|
"height": 880,
|
|
"label": "PLATTFORM-ADMIN — unsere interne Verwaltung"
|
|
},
|
|
{
|
|
"id": "c8d8914e45e1497e",
|
|
"type": "text",
|
|
"x": 6140,
|
|
"y": 2200,
|
|
"width": 460,
|
|
"height": 360,
|
|
"text": "## Plattform-Admin\n**Ticket:** `D-ADMIN` · **Status:** ⬜ offen\n**Wo:** admin.hivegrid.de\n\n**Was drin ist:** Eigener Login (2FA Pflicht), Übersichts-Dashboard (Kunden, Nutzer, Umsatz, System-Zustand), Kunden-Verwaltung (Module freischalten = Abo-Baukasten, Test verlängern, »als Kunde einloggen« mit Begründung), Nutzer-Hilfen (2FA-Reset), Feature-Schalter, Warteschlangen-Monitor, Support-Inbox, Protokoll\n\n**So funktioniert's:** Komplett eigene Welt für uns als Betreiber — Kunden sehen davon nichts. Muss funktionieren, nicht hübsch sein.",
|
|
"color": "5"
|
|
},
|
|
{
|
|
"id": "abf5f779c1463715",
|
|
"type": "text",
|
|
"x": 6140,
|
|
"y": 2600,
|
|
"width": 460,
|
|
"height": 360,
|
|
"color": "5",
|
|
"text": "## Hinweis\nDieses eine Ticket enthält viele kleine Features (Kunden, Schalter, Support …).\n\nBeim atomaren Durchgehen behandeln wir es als eigenen Bereich und teilen es bei Bedarf in Unter-Pakete auf. Priorität liegt aber hinter der Vertriebs-/Auftrags-Kette."
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "4ab78034e8253353",
|
|
"fromNode": "b3cad562971d30a5",
|
|
"fromSide": "right",
|
|
"toNode": "d53e7ea48a9b1e6c",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "Design-Grundlage"
|
|
},
|
|
{
|
|
"id": "493a2823934c45bb",
|
|
"fromNode": "3e27875daca5713d",
|
|
"fromSide": "right",
|
|
"toNode": "89c0813f7e139a88",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "nach dem Login"
|
|
},
|
|
{
|
|
"id": "ec751d558a1aef74",
|
|
"fromNode": "8272764aa65537b0",
|
|
"fromSide": "right",
|
|
"toNode": "d9868dadb782f253",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "Kontakt anlegen/verknüpfen",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "154e632b2e5a645b",
|
|
"fromNode": "d9868dadb782f253",
|
|
"fromSide": "right",
|
|
"toNode": "e10a35560a461111",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "Kontakt hängt am Projekt",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "0c0d0ba4b21da4ee",
|
|
"fromNode": "e10a35560a461111",
|
|
"fromSide": "right",
|
|
"toNode": "4bb807ef5e3c8dee",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "gewonnen → Auftrags-Board",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "b43edef178d41dd6",
|
|
"fromNode": "4bb807ef5e3c8dee",
|
|
"fromSide": "right",
|
|
"toNode": "3f83fa1a16ae69df",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "Termine einplanen",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "c45adb9c0c551e38",
|
|
"fromNode": "3f83fa1a16ae69df",
|
|
"fromSide": "right",
|
|
"toNode": "d9ad572ae83b4d0a",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "Ausführung → Abnahme",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "47be96e20dcfa86a",
|
|
"fromNode": "d9ad572ae83b4d0a",
|
|
"fromSide": "bottom",
|
|
"toNode": "4bb807ef5e3c8dee",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Mängel → Aufgaben · dann Rechnung",
|
|
"color": "2"
|
|
},
|
|
{
|
|
"id": "2ec97abebcf1dcce",
|
|
"fromNode": "ce5632682989a6ca",
|
|
"fromSide": "bottom",
|
|
"toNode": "8272764aa65537b0",
|
|
"toSide": "top",
|
|
"toEnd": "arrow",
|
|
"label": "Demo-Anfrage"
|
|
},
|
|
{
|
|
"id": "4b89b1105393e48f",
|
|
"fromNode": "6b8c7d3bc3ee7449",
|
|
"fromSide": "top",
|
|
"toNode": "8272764aa65537b0",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Formular → Anfrage"
|
|
},
|
|
{
|
|
"id": "bc139947ce483198",
|
|
"fromNode": "77ebfde5a3a05b8a",
|
|
"fromSide": "top",
|
|
"toNode": "8272764aa65537b0",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Buchung → Anfrage/Termin"
|
|
},
|
|
{
|
|
"id": "57a256b64d1a2d76",
|
|
"fromNode": "29ca06733a9b243b",
|
|
"fromSide": "top",
|
|
"toNode": "8272764aa65537b0",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Anruf von unbekannt → Anfrage"
|
|
},
|
|
{
|
|
"id": "78fca84da3e723b6",
|
|
"fromNode": "ab16fe58ff28c0ac",
|
|
"fromSide": "top",
|
|
"toNode": "d9868dadb782f253",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Mails am Kontakt sichtbar"
|
|
},
|
|
{
|
|
"id": "8792d0c809babff2",
|
|
"fromNode": "03e8e03ef11606a0",
|
|
"fromSide": "top",
|
|
"toNode": "3f83fa1a16ae69df",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Urlaub/krank → Konflikt-Warnung"
|
|
},
|
|
{
|
|
"id": "ce4441bfdc6a11cc",
|
|
"fromNode": "28bd46ecb4eaa069",
|
|
"fromSide": "top",
|
|
"toNode": "3f83fa1a16ae69df",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Kalender-Abgleich"
|
|
},
|
|
{
|
|
"id": "77081523e546eebe",
|
|
"fromNode": "b789fc765f833f45",
|
|
"fromSide": "top",
|
|
"toNode": "4bb807ef5e3c8dee",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "hängt an der Projekt-Akte"
|
|
},
|
|
{
|
|
"id": "e6c0f9dda77f8d85",
|
|
"fromNode": "401d8270854bebac",
|
|
"fromSide": "top",
|
|
"toNode": "4bb807ef5e3c8dee",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Projekt-Channel im Projekt"
|
|
},
|
|
{
|
|
"id": "65bd180bf263096e",
|
|
"fromNode": "e10a35560a461111",
|
|
"fromSide": "top",
|
|
"toNode": "89c0813f7e139a88",
|
|
"toSide": "bottom",
|
|
"toEnd": "arrow",
|
|
"label": "Zahlen fürs Dashboard"
|
|
},
|
|
{
|
|
"id": "0bb07aa23fe6a9f2",
|
|
"fromNode": "28bd46ecb4eaa069",
|
|
"fromSide": "left",
|
|
"toNode": "77ebfde5a3a05b8a",
|
|
"toSide": "right",
|
|
"toEnd": "arrow",
|
|
"label": "freie Zeiten"
|
|
},
|
|
{
|
|
"id": "cc8ccd69ae4f9435",
|
|
"fromNode": "8f3127f03a5bab96",
|
|
"fromSide": "right",
|
|
"toNode": "e6d8c36a0f89d954",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "Baukasten ↔ Übersicht"
|
|
},
|
|
{
|
|
"id": "dc15b80a5a4410c9",
|
|
"fromNode": "db76161d24fb0c1d",
|
|
"fromSide": "right",
|
|
"toNode": "c8d8914e45e1497e",
|
|
"toSide": "left",
|
|
"toEnd": "arrow",
|
|
"label": "Feedback → Support-Inbox"
|
|
}
|
|
]
|
|
} |