Files
aza/APP/backup 24.2.26/project_todos.json
2026-03-25 14:14:07 +01:00

267 lines
9.0 KiB
JSON

{
"version": 3,
"updated_at": "2026-03-11",
"items": [
{
"id": "cse-fix",
"priority": "HIGH",
"area": "Backend",
"title": "Google CSE Integration fixen",
"status": "done",
"details": "Google CSE 403 blockiert; DDG-Fallback implementiert; CSE aufgegeben",
"notes": "Closed: switched to DDG",
"step_hint": null
},
{
"id": "provider3",
"priority": "HIGH",
"area": "Backend",
"title": "Provider 3 (Bing/SerpAPI) Option falls DDG unzureichend",
"status": "open",
"details": "Alternativen evaluieren falls DDG-Qualitaet nicht reicht",
"notes": "Parked mit Kongress-Suche",
"step_hint": null
},
{
"id": "live-events-ui",
"priority": "HIGH",
"area": "Backend",
"title": "Backend Live-Suche in Kongress-UI einbinden",
"status": "open",
"details": "/api/events/live Endpoint in Desktop-App Kongress-Fenster integrieren",
"notes": "Parked mit Kongress-Suche",
"step_hint": null
},
{
"id": "webapp",
"priority": "HIGH",
"area": "Web",
"title": "Browser-AZA Web-App bauen",
"status": "open",
"details": "Browser-AZA MVP bleibt wichtig, ist aber aktuell nachrangig hinter Desktop-EXE/Installer/Update-Strecke",
"notes": "Nicht gestrichen, nur nach Prioritaet nach hinten gesetzt",
"step_hint": 22
},
{
"id": "webapp-shell",
"priority": "HIGH",
"area": "Web",
"title": "MVP Web-Shell definieren",
"status": "open",
"details": "Eine klare Hauptseite fuer Browser-AZA mit Upload-Bereich, Ergebnisbereich und minimaler Navigation festlegen",
"notes": "Teil von Step 22",
"step_hint": 22
},
{
"id": "webapp-auth-min",
"priority": "HIGH",
"area": "Web",
"title": "Minimalen Zugangsschutz fuer Browser-MVP festlegen",
"status": "open",
"details": "Einfacher MVP-Zugang ohne Breaking Change am bestehenden Auth-Contract; X-API-Token bleibt unveraendert",
"notes": "Teil von Step 22",
"step_hint": 22
},
{
"id": "webapp-specialty",
"priority": "HIGH",
"area": "Web",
"title": "Fachrichtungsauswahl im Browser-MVP",
"status": "open",
"details": "Fachrichtung vor Upload im UI auswaehlbar machen",
"notes": "Teil von Step 22",
"step_hint": 22
},
{
"id": "webapp-upload-flow",
"priority": "HIGH",
"area": "Web",
"title": "Upload-Flow an /v1/transcribe anbinden",
"status": "open",
"details": "Audiodatei vom Browser an das bestehende Backend senden, ohne Auth-Contract zu aendern",
"notes": "Teil von Step 22",
"step_hint": 22
},
{
"id": "webapp-result-copy",
"priority": "HIGH",
"area": "Web",
"title": "Transkriptanzeige und Copy-Button",
"status": "open",
"details": "Antwort sichtbar darstellen und per Klick in die Zwischenablage kopieren",
"notes": "Teil von Step 22",
"step_hint": 22
},
{
"id": "webapp-legal-links",
"priority": "MEDIUM",
"area": "Web",
"title": "Support-/Privacy-/Terms-Links im MVP sichtbar machen",
"status": "open",
"details": "Basislinks in der Browser-Oberflaeche sichtbar platzieren",
"notes": "Teil von Step 22",
"step_hint": 22
},
{
"id": "updates",
"priority": "HIGH",
"area": "Desktop",
"title": "Update-System (Auto-Update/Release-Channel/Changelog)",
"status": "in_progress",
"details": "Desktop-EXE, lokaler Backend-Autostart und Update-Flow stehen. Jetzt zentrale Versionierung, signierte Downloads und robuster Release-Prozess vervollstaendigen",
"notes": "",
"step_hint": 17
},
{
"id": "installer-test",
"priority": "HIGH",
"area": "Desktop",
"title": "Installer auf Zielrechner testen",
"status": "open",
"details": "Praxiscomputer-Testpaket (dist/practice_test_bundle) auf Zielrechner kopieren, Installer ausfuehren, OpenAI-Key einrichten, Diktat-Kurztest durchfuehren",
"notes": "Testpaket mit Anleitung und Installer bereit. Naechster physischer Schritt.",
"step_hint": 17
},
{
"id": "release-pipeline-local",
"priority": "HIGH",
"area": "Desktop",
"title": "Lokale Release-Pipeline in einem Startpunkt ausfuehren",
"status": "done",
"details": "Build, Release Manifest, Desktop Smoke Test, Installer Build und Installer Smoke Test ueber ein gemeinsames Script orchestrieren",
"notes": "Ziel: kein Ping-Pong mehr zwischen Einzelskripten",
"step_hint": 17
},
{
"id": "release-artifacts-report",
"priority": "MEDIUM",
"area": "Desktop",
"title": "Release-Artefakte mit Checksums dokumentieren",
"status": "done",
"details": "Nach erfolgreicher Release-Pipeline JSON-Report mit Version, Dateigroessen und SHA256 fuer EXE und Installer erzeugen",
"notes": "Hilft fuer Weitergabe, Upload und spaetere Signierung",
"step_hint": 17
},
{
"id": "publish-bundle",
"priority": "MEDIUM",
"area": "Desktop",
"title": "Publish-Bundle fuer Release erzeugen",
"status": "done",
"details": "Installer, version.json und release_artifacts.json nach erfolgreicher Release-Pipeline in dist\\publish zusammenfassen",
"notes": "Vorbereitung fuer Upload auf Server/Website",
"step_hint": 17
},
{
"id": "runtime-secret-provisioning",
"priority": "HIGH",
"area": "Desktop",
"title": "Desktop Runtime Secret Provisioning",
"status": "done",
"details": "openai_runtime_config.py eingefuehrt. Backend/Desktop nutzen zentrale Runtime-Config. Installer bringt kein hartkodiertes Secret mit. Setup-Helfer fuer Praxiscomputer mitgeliefert.",
"notes": "Naechster Schritt: auf Praxiscomputer validieren",
"step_hint": 17
},
{
"id": "desktop-local-backend-autostart",
"priority": "HIGH",
"area": "Desktop",
"title": "Lokales Backend aus der EXE automatisch starten",
"status": "done",
"details": "1-Klick-Praxistest funktioniert: Desktop-App startet lokales Backend automatisch, wartet auf Erreichbarkeit und lokaler Smoke-Test ist gruen",
"notes": "Teil von Step 17 abgeschlossen",
"step_hint": 17
},
{
"id": "billing-invoices",
"priority": "HIGH",
"area": "Billing",
"title": "Rechnungen/Invoices sauber (Stripe, Tax/VAT)",
"status": "open",
"details": "Stripe Settings, Invoice Branding, Rechnungsfluss CH/EU, Tax/VAT",
"notes": "",
"step_hint": 23
},
{
"id": "downloadable-app",
"priority": "HIGH",
"area": "Desktop",
"title": "Downloadbares Programm bereitstellen (Installer/Signing)",
"status": "open",
"details": "Installer/Packaging, Signierung, Website Download, Release Notes",
"notes": "",
"step_hint": 17
},
{
"id": "admin-tools",
"priority": "MEDIUM",
"area": "Infra",
"title": "Admin/Support-Tools (Logs, Diagnostics)",
"status": "open",
"details": "Zentrale Logs, Diagnostics-Dashboard, Support-Zugang",
"notes": "",
"step_hint": 24
},
{
"id": "legal-basics",
"priority": "MEDIUM",
"area": "Legal",
"title": "Datenschutz/Impressum/Terms Basics",
"status": "open",
"details": "Privacy Policy, Impressum, AGB/Terms of Service, Cookie Banner",
"notes": "",
"step_hint": 23
},
{
"id": "observability",
"priority": "MEDIUM",
"area": "Infra",
"title": "Observability: Structured Logs, Error Reporting",
"status": "open",
"details": "Strukturiertes Logging, Error/Exception Reporting, Alerting",
"notes": "",
"step_hint": 24
},
{
"id": "domain-brand",
"priority": "MEDIUM",
"area": "Product",
"title": "Domain/Name/Branding festlegen",
"status": "open",
"details": "Produktname, Domain registrieren, Branding Assets",
"notes": "Relevant fuer Browser-AZA und Sell-Ready",
"step_hint": 22
},
{
"id": "translator",
"priority": "LOW",
"area": "Desktop",
"title": "Uebersetzer-Funktion ausbauen",
"status": "open",
"details": "Aktuell provisorisch implementiert, vollstaendig ausarbeiten",
"notes": "",
"step_hint": null
},
{
"id": "med-interactions",
"priority": "LOW",
"area": "Desktop",
"title": "Medikamenten-Interaktionscheck verbessern",
"status": "open",
"details": "Websuche als Fallback verbessern, mehr Datenquellen anbinden",
"notes": "",
"step_hint": null
},
{
"id": "roadmap-graph",
"priority": "LOW",
"area": "Desktop",
"title": "Roadmap-Tab Erweiterungen (optionaler Graph)",
"status": "open",
"details": "Visuelle Darstellung der Roadmap als Gantt/Graph (nice-to-have)",
"notes": "",
"step_hint": null
}
]
}