Skip to main content
Docs

6. Apps — was läuft wo

AppPortTechZweck
web5173React 18 + Vite + React-Router-v6Editor-SPA — Dashboard, Markdown-Editor, Live-Preview, Deploy-Panel
preview4173React 18 + ViteIframe-Renderer — empfängt postMessage, rendert via render-engine
api3000Express 5 + tsx watchREST-API — alle Endpoints unter /api/*, Session-Auth
converter8001FastAPI + uvicornPython-Microservice — DOCX/PDF/PPTX/XLSX/HTML/EPUB → Markdown
landing4178Static HTML (serve)Marketing-Landing — was Besucher sehen, bevor sie einloggen

Jede App hat ein eigenes package.json mit dev-Script und ist via turbo dev parallel startbar.

Warum ein Iframe für die Preview?
CSS- und JS-Isolation. Die Pack-Tokens setzen :root-CSS-Variablen, die ohne Iframe das Editor-UI selbst stylen würden. Außerdem schickt die Preview-App postMessages zurück (Click-to-Edit-Klicks), die wir am Origin verifizieren.

Warum Python für den Converter?
PDF-Parsing ist im Python-Ökosystem deutlich besser (pdfplumber, MarkItDown). Statt das in Node nachzubauen → standalone Service, nur HTTP-Schnittstelle.