Was WeWeb ist und wofür man es nutzt

WeWeb ist ein visueller Frontend-Builder, kein Website-Builder. Der Unterschied ist entscheidend: WeWeb baut Web-Anwendungen — Tools mit Benutzerauthentifizierung, Datenbankoperationen, komplexen UI-Logiken. Nicht Blogs oder Marketing-Websites (dafür gibt es Webflow).

Wofür WeWeb ausgezeichnet ist: - **SaaS-Frontends**: der UI-Layer einer SaaS-Anwendung, verbunden mit Supabase oder Xano als Backend - **Interne Tools**: HR-Dashboards, Projektmanagement-Tools, Daten-Reports - **Kunden-Portale**: Bereiche, wo Kunden ihre Bestellungen, Tickets oder Konten verwalten - **Marktplätze**: Anzeige von Produkten/Dienstleistungen mit Suche, Filter und Checkout

WeWebs technischer Hintergrund: es generiert eine Vue.js-Anwendung, die über Vercels CDN gehostet wird. Das bedeutet global schnelle Ladezeiten und unbegrenzte Skalierung — das Frontend ist nur statische Dateien.

Für den deutschen Markt: WeWeb ist bei deutschen SaaS-Agenturen und Mittelstandsprojekten sehr beliebt, weil es Supabase EU-Region nativ unterstützt und damit DSGVO-konforme Apps ohne Kompromisse ermöglicht.

Erstes Projekt einrichten

Erstelle ein Konto auf weweb.io (kostenlos im Staging). Neues Projekt → Name und Beschreibung.

**Design-System einrichten**: WeWeb hat ein eingebautes Design-System mit Farben, Typographie und Spacing. Gehe zu Design → Design Tokens und definiere: - Primary Color: deine Hauptmarkenfarbe - Neutral Colors: Grauabstufungen für Text und Hintergründe - Font Family: z.B. Inter (ausgezeichnet für B2B-Apps) - Border Radius: wie rund sollen Buttons und Cards sein?

**Supabase verbinden**: Add Plugin → Supabase → Project URL und Anon Key eingeben. WeWeb liest dein Supabase-Schema und macht alle Tabellen als Datenquellen verfügbar.

**Authentifizierung aktivieren**: Mit aktiviertem Supabase-Plugin → Authentication → Enable. WeWeb erstellt automatisch Login/Logout-Actions und einen Auth-State, den du für bedingtes Rendering nutzen kannst.

Collections und Daten anzeigen

WeWebs Daten-Konzept dreht sich um "Collections" — Datensätze, die an eine Datenquelle gebunden sind:

1. **Collection erstellen**: Data → Collections → Add Collection → Supabase → deine Tabelle → Filter hinzufügen (z.B. nur Zeilen des aktuellen Nutzers) → Felder auswählen

2. **In einer Liste anzeigen**: Ziehe ein Container-Widget auf den Canvas → bind es an deine Collection (Data-Binding-Panel) → Container wird zu einer Liste: für jedes Element in der Collection wird eine Instanz des Containers erstellt

3. **Felder binden**: Innerhalb des Container-Kinder-Widgets: klicke auf ein Text-Widget → Value → bind an ein Collection-Feld (`item.title`, `item.created_at`, etc.)

4. **Filter und Suche**: Füge ein Input-Feld hinzu, gebunden an eine Seiten-Variable `searchQuery`. In der Collection: Filter → title contains `searchQuery`. Die Liste filtert automatisch wenn der Nutzer tippt.

Row-Level-Security in Supabase stellt sicher, dass WeWeb nur Zeilen zurückgibt, die der angemeldete Nutzer sehen darf — du musst keine Autorisierungslogik im Frontend schreiben.

Formulare und Daten schreiben

Daten in Supabase schreiben mit WeWeb:

1. **Formular-Layout**: Erstelle ein Seiten-Layout mit Input-Feldern (WeWebs Input-Komponente oder UI-Kit-Felder). Jedes Feld: bind an eine Seiten-Variable (`newItemTitle`, `newItemDescription`, etc.)

2. **Submit-Action**: Button → OnClick → Add Action → Supabase → Insert Row → deine Tabelle → Felder auf Seiten-Variablen mappen (title: `newItemTitle`, etc.)

3. **Feedback**: Nach erfolgreichem Insert: Show Notification ("Eintrag erstellt"), Variablen zurücksetzen, Collection neu laden (damit die neue Zeile in der Liste erscheint)

4. **Validierung**: WeWeb hat eingebaute Formular-Validierung — required Fields, E-Mail-Format, Mindestzahl Zeichen. Aktiviere sie in der Input-Komponente-Einstellungen.

5. **Update und Delete**: Update-Action folgt demselben Muster, aber mit PATCH statt INSERT. Delete: Button → Action → Supabase → Delete Row → Filter: `id = item.id`. Nach dem Löschen Collection neu laden.

Navigation und mehrere Seiten

WeWeb-Apps haben mehrere Seiten, verbunden durch Navigation:

**Seiten erstellen**: Pages-Panel → + Add Page → Name und URL-Slug (z.B. `/projects/:id` für eine Detail-Seite mit Dynamic Parameter)

**Navigation implementieren**: Button oder List-Item-Click → Action → Navigate → Seite auswählen → Parameter übergeben (z.B. `id: item.id`)

**Dynamic Parameter in Zielseite**: In der Zielseite-Query: filtere Supabase nach `id = url_parameter.id`. Zeige dann die Details des spezifischen Eintrags.

**Navigation Guards**: Für Seiten, die Authentifizierung erfordern: Page Settings → Access Control → Authenticated Users Only. WeWeb leitet nicht-angemeldete Nutzer zur Login-Seite weiter.

**Layout und Navigationsleiste**: Erstelle eine Header-Komponente mit dem App-Logo, Navigationslinks und einem User-Avatar-Dropdown (mit Logout-Option). Füge diese Komponente auf jeder Seite ein — WeWeb unterstützt wiederverwendbare Komponenten, die einmal bearbeitet überall aktualisiert werden.

Deployen und live gehen

WeWeb hostet deine App automatisch auf einem globalen CDN (Vercel). Um die App produktionsbereit zu machen:

1. **Custom Domain**: Settings → Domains → deine Domain hinzufügen (app.deinprodukt.de). WeWeb konfiguriert DNS-Records — du musst nur einen CNAME-Record bei deinem Domain-Provider setzen.

2. **Environment Variables**: Für Produktions- vs Staging-Unterschiede: Project Settings → Environments → Variablen setzen (z.B. SUPABASE_URL kann für Staging und Produktion verschieden sein)

3. **Publish**: Publish-Button → Select Environment (Production) → Publish. WeWeb baut und deployed die App auf dem CDN. Erste Deployments dauern 2–3 Minuten, danach 30–60 Sekunden.

4. **DSGVO-Elemente sicherstellen**: Datenschutzrichtlinie-Link im Footer, Cookie-Banner wenn Tracking-Scripts genutzt werden, Impressum (in Deutschland gesetzlich vorgeschrieben für kommerzielle Websites).

5. **Monitoring**: WeWeb integriert sich mit PostHog, Google Analytics und anderen Analytics-Tools. Aktiviere Event-Tracking für Schlüsselaktionen (Registrierung, erster Hauptaction, Zahlungs-Klick) um die Nutzungs- und Konversionsrate zu messen.