No description
  • TypeScript 97%
  • CSS 2.6%
  • JavaScript 0.3%
Find a file
Markus Thiel 1f2ae3bcd8
All checks were successful
images / verify (push) Successful in 16m20s
images / build (push) Successful in 11s
images / Portainer-Redeploy (push) Successful in 1s
Merge pull request 'Dokumentvorlagen: Bescheinigung, Rechnung/Quittung und Brief als PDF mit fester Nummer' (#55) from dokumente into main
2026-10-10 23:37:22 +00:00
.forgejo/workflows CI: nur ein Lauf je Pull Request, mehr Puffer für API-Test-Setup 2026-10-07 23:19:20 +02:00
apps Dokumentvorlagen: Bescheinigung, Rechnung/Quittung und Brief als PDF mit fester laufender Nummer 2026-10-11 01:18:54 +02:00
docker Vorschaubilder für Bilder, Videos und PDFs – auch nachträglich 2026-10-08 14:28:11 +02:00
docs Dokumentvorlagen: Bescheinigung, Rechnung/Quittung und Brief als PDF mit fester laufender Nummer 2026-10-11 01:18:54 +02:00
e2e Dokumentvorlagen: Bescheinigung, Rechnung/Quittung und Brief als PDF mit fester laufender Nummer 2026-10-11 01:18:54 +02:00
packages Dokumentvorlagen: Bescheinigung, Rechnung/Quittung und Brief als PDF mit fester laufender Nummer 2026-10-11 01:18:54 +02:00
.dockerignore Docker-Images (web/api), Portainer-Stack, Image-Workflow; Renderer an API angebunden; UX-Feinschliff 2026-10-06 20:19:49 +00:00
.editorconfig Monorepo-Grundgerüst, Formular-Schema und Logik-Engine mit Tests 2026-10-06 19:40:06 +00:00
.gitignore Monorepo-Grundgerüst, Formular-Schema und Logik-Engine mit Tests 2026-10-06 19:40:06 +00:00
.nvmrc Monorepo-Grundgerüst, Formular-Schema und Logik-Engine mit Tests 2026-10-06 19:40:06 +00:00
docker-compose.portainer.yml Betrieb: nächtliche Sicherung im Stack, Systemstatus (Mail, KI, Jobs, Sicherung, Speicher) mit Job-Wiederholung und Test-Mail, DSGVO-Auskunft/Export/Löschung nach E-Mail (API) 2026-10-07 06:30:24 +00:00
docker-compose.yml Docker-Images (web/api), Portainer-Stack, Image-Workflow; Renderer an API angebunden; UX-Feinschliff 2026-10-06 20:19:49 +00:00
Dockerfile pnpm 12: allowBuilds für esbuild; Editor im Web-Image unter /app/ 2026-10-06 20:26:23 +00:00
package.json Browser-Tests (Playwright) in Chrome und Safari/WebKit gegen ein komplettes Fobu mit In-Memory-Datenbank; laufen in der CI vor dem Image-Build 2026-10-07 06:43:06 +00:00
pnpm-lock.yaml Vorlagen: neue Feldtypen nutzen, 10 neue Vorlagen 2026-10-08 18:03:14 +02:00
pnpm-workspace.yaml Browser-Tests (Playwright) in Chrome und Safari/WebKit gegen ein komplettes Fobu mit In-Memory-Datenbank; laufen in der CI vor dem Image-Build 2026-10-07 06:43:06 +00:00
README.md Neu: Anmeldung über Keycloak und andere OpenID-Connect-Anbieter 2026-10-09 10:53:45 +02:00
stack.env Zahlungen: Stripe, Mollie, Überweisung mit serverseitigem Betrag (F08) 2026-10-08 09:23:36 +02:00
tsconfig.base.json Monorepo-Grundgerüst, Formular-Schema und Logik-Engine mit Tests 2026-10-06 19:40:06 +00:00
turbo.json turbo: automatisch erzeugte AGENTS.md abschalten 2026-10-07 22:48:59 +02:00

Fobu – Formular-Builder

High-End-Formular-Builder für Umfragen, Feedback, Anmeldungen, Leads und Bestellungen. Schnellster Editor, drei Darstellungsmodi (klassisch, conversational, Funnel), Datenschutz und Barrierefreiheit von Anfang an mitgedacht (Aufbewahrungsfristen, Auskunft/Löschung, Tastatur- und Screenreader-Bedienung) – eine rechtliche Konformitätsprüfung ersetzt das nicht.

Funktionen (Auswahl)

  • Editor mit Bereichen Inhalt · Logik · Design · Verbinden · Antworten, Logikansicht mit Testantworten, Versionen, Veröffentlichung mit Qualitätscheck und Testmodus
  • 30 Feldtypen, u. a. Adresse mit Ortsvorschlag, Zeitraum, Betrag/Spende, Bestellliste, SEPA-Lastschriftmandat, E-Mail-Bestätigung per Code, Terminumfrage (wie Doodle/Rallly) und Zeitfenster buchen – Übersicht: Feldtypen
  • Live-Abstimmung am Beamer (wie Mentimeter/Kahoot): QR-Code, Balken, Wortwolke, Pinnwand mit Freigabe, Quiz mit Countdown und Rangliste
  • 51 Vorlagen in elf Bereichen (u. a. Termine & Buchung, Spenden & Bestellungen)
  • Wiederholbare Feldgruppen, Auswahl aus Datenquellen (abhängig, mit Vorbelegung), Fortsetzen per Link, Selbstbearbeitung
  • Antworten als Arbeitsoberfläche: Bearbeitungsstatus, Zuständigkeit, Massenaktionen, gespeicherte Ansichten; Freigabeprozesse mit Rückfrage und Fristen
  • Zahlungen per Stripe, Mollie oder Überweisung – Betrag serverseitig berechnet, Status in der Antwortansicht
  • PDF-Antwortkopien, Verbindungen zu Google Sheets, Excel (Microsoft 365), HubSpot und Brevo, Webhooks, API
  • Markenpakete, eigene Vorlagen und Bausteinbibliothek
  • Anmeldung über Keycloak und jeden anderen OpenID-Connect-Anbieter: Konten beim ersten Login, Gruppen und Rollen werden Fobu-Gruppen zugeordnet

Stand und Herkunft der Funktionen: Produktprüfung & Umsetzungsstand.

Entwicklung

Voraussetzungen: Node.js ≥ 22, pnpm (corepack enable).

pnpm install
pnpm test        # alle Tests
pnpm typecheck   # TypeScript strikt
docker compose up --build   # alles lokal: http://localhost:8080/app/ (admin@fobu.local / admin12345)

Struktur

apps/
  renderer/      # Formulare für Ausfüllende (Preact, ~45 kB gzip, Budget 45 kB; seltene Feldtypen laden nach) – /f/<slug>
  builder/       # Editor (React + Tailwind) – /app/
  api/           # Hono + Drizzle/Postgres – /api
packages/
  schema/        # Zod-Schemas: Formulardefinition, Feldtypen, Logik, Antworten
  engine/        # Logik-Engine: Flow, Variablen, Validierung, Recall, Lint
docs/            # Marktanalyse, Architektur, Produktprüfung

Dokumentation

Browser-Tests

e2e/ enthält Playwright-Tests, die ein komplettes Fobu (API mit In-Memory-Datenbank, gebaute Oberflächen) in Chrome und Safari/WebKit durchspielen – u. a. Ausfüllen, Matrix-Darstellung, Editor-Vorschau, Antworten. Sie laufen in der CI vor jedem Image-Build.

pnpm build
pnpm --filter @fobu/e2e exec playwright install chromium webkit   # einmalig
pnpm e2e

Daten Dritter

  • Postleitzahlen und Orte (Deutschland, Österreich, Schweiz) für den Ortsvorschlag im Feld „Adresse“: GeoNames, lizenziert unter CC BY 4.0. Erzeugt mit apps/api/scripts/postal-data.mjs.