Deine Datenbank
condoo.Vibe stellt für jedes Projekt Neon Postgres bereit. Beschreibe die benötigten Daten in einfacher Sprache statt in SQL.
Die meisten echten Anwendungen benötigen einen Ort zum Speichern von Informationen.
Kundenkonten, Leads, Bestellungen, Buchungen, Projekte, Nachrichten, Abonnements, Einstellungen und andere Anwendungsdaten müssen verfügbar bleiben, auch wenn ein Nutzer den Browser schließt oder später zurückkehrt.
condoo.Vibe verwendet Neon Postgres, um Anwendungen bei Bedarf eine Infrastruktur für dauerhafte Datenspeicherung bereitzustellen.
Wenn deine Anwendung gespeicherte Daten benötigt, kann condoo.Vibe die Datenbank im Rahmen der Produktentwicklung erstellen und damit arbeiten.
Du beschreibst die Daten, die dein Produkt benötigt. condoo.Vibe hilft, daraus eine funktionierende, datenbankgestützte Anwendung zu machen.
Was ist eine Datenbank?
In einer Datenbank speichert deine Anwendung strukturierte Informationen.
Angenommen, du entwickelst ein CRM.
Deine Anwendung muss sich möglicherweise Folgendes merken:
- Leads
- Kunden
- Teammitglieder
- Abschlüsse
- Nachfassaktionen
- Notizen
- Aktivitäten
Ohne dauerhaften Speicher könnten eingegebene Informationen beim Neuladen der Anwendung verschwinden.
Eine Datenbank ermöglicht es der Anwendung, diese Informationen zu speichern und später wieder abzurufen.
condoo.Vibe verwendet Neon Postgres
condoo.Vibe verwendet Neon Postgres als Datenbankinfrastruktur für dein Projekt.
Postgres ist eine relationale Datenbank. Damit kann deine Anwendung strukturierte Informationen speichern und Beziehungen zwischen verschiedenen Datentypen herstellen.
Ein CRM könnte beispielsweise Folgendes enthalten:
- Nutzer
- Leads
- Immobilien
- Abschlüsse
- Nachfassaktionen
Diese Datensätze können miteinander verknüpft sein.
Lead → Abschluss → Immobilie
↓
Makler
So lassen sich Anwendungen mit zusammenhängenden Informationen entwickeln, statt nur voneinander isolierte Inhalte zu speichern.
Dein Projekt erhält eine eigene Datenbank
Wenn ein Projekt in condoo.Vibe dauerhafte Anwendungsdaten benötigt, kann condoo.Vibe die Neon-Datenbankinfrastruktur für dieses Projekt bereitstellen.
Dadurch bleiben die Daten der Anwendung dem jeweiligen Projekt zugeordnet.
Du musst nicht zuerst:
- Manuell ein Neon-Projekt erstellen
- Datenbanktabellen selbst anlegen
- Einen Datenbankserver konfigurieren
- Die Datenbank mit der Anwendung verbinden
- SQL schreiben, bevor die Entwicklung beginnen kann
Stattdessen kannst du mit der Produktanforderung beginnen.
Zum Beispiel:
Ein Lead-Verwaltungssystem erstellen, in dem Makler Leads anlegen, Teammitgliedern zuweisen, ihren Status aktualisieren, Notizen hinzufügen und Nachfassaktionen planen können.
condoo.Vibe kann ermitteln, welche Datenstrukturen dafür erforderlich sind.
Vom Prompt zur Datenbank
Du musst deine Datenbank nicht in Fachsprache beschreiben.
Angenommen, du sagst condoo.Vibe:
Der Anwendung eine Lead-Verwaltung hinzufügen. Jeder Lead soll Name, E-Mail, Telefonnummer, Quelle, Status, zugewiesenen Makler, Budget, Immobilieninteresse und Notizen haben.
Aus dieser Produktanforderung kann condoo.Vibe ableiten, dass eine Lead-Datenstruktur mit etwa folgenden Informationen benötigt wird:
Lead
├── Name
├── E-Mail
├── Telefon
├── Quelle
├── Status
├── Zugewiesener Makler
├── Budget
├── Immobilieninteresse
├── Notizen
├── Erstellungsdatum
└── Aktualisierungsdatum
condoo.Vibe kann darauf aufbauend die Anwendungsfunktionen entwickeln.
Der Nutzer sieht eine Lead-Verwaltung.
Hinter der Oberfläche verfügt die Anwendung über strukturierte Daten, die sie speichern und abrufen kann.
Daten bleiben erhalten
Datenbankgestützte Informationen bleiben über die aktuelle Seitenansicht hinaus bestehen.
Angenommen, ein Makler legt Folgendes an:
Name: Sarah Chen
E-Mail: sarah@example.com
Status: Qualifiziert
Budget: $850,000
Quelle: Website
Die Anwendung kann diese Informationen in ihrer Datenbank speichern.
Wenn der Makler später zurückkehrt, kann die Anwendung Sarahs Datensatz erneut abrufen.
Dasselbe Prinzip gilt für:
- Kundenprofile
- Buchungen
- Bestellungen
- Aufgaben
- Nachrichten
- Immobilien
- Projekte
- Einstellungen
- Andere dynamische Anwendungsdaten
Dadurch kann deine Anwendung ihren Zustand speichern, statt nur aus statischen Ansichten zu bestehen.
Tabellen ordnen deine Daten
Relationale Datenbanken organisieren Informationen in Strukturen, die üblicherweise Tabellen heißen.
Eine Agenturanwendung könnte beispielsweise Folgendes enthalten:
- Kunden
- Projekte
- Aufgaben
- Rechnungen
Eine Kundentabelle könnte Informationen wie diese enthalten:
Kunde
├── Name
├── E-Mail
├── Telefon
├── Unternehmen
├── Status
└── Erstellt am
Eine Projekttabelle könnte Folgendes enthalten:
Projekt
├── Name
├── Kunde
├── Status
├── Budget
├── Startdatum
├── Fälligkeitsdatum
└── Erstellt am
Du musst diese Strukturen nicht unbedingt manuell erstellen.
Beschreibe die benötigten Informationen. condoo.Vibe kann die passenden Datenstrukturen als Teil der Anwendung entwickeln.
Deine Daten können Beziehungen haben
Echte Anwendungen enthalten selten völlig voneinander isolierte Daten.
Ein Projekt kann zu einem Kunden gehören.
Eine Aufgabe kann zu einem Projekt gehören.
Eine Bestellung kann zu einem Kunden gehören.
Ein Abschluss kann einen Lead mit einer Immobilie verbinden.
Das sind Beziehungen.
Zum Beispiel:
Kunde
↓
Projekt
↓
Aufgabe
Ein Kunde kann mehrere Projekte haben, und jedes Projekt kann mehrere Aufgaben enthalten.
Oder in einem Immobilien-CRM:
Lead ──────┐
↓
Abschluss
↑
Immobilie ─┘
│
↓
Makler
Beziehungen ermöglichen das Zusammenspiel verschiedener Teile deiner Anwendung.
Beziehungen in natürlicher Sprache beschreiben
Du musst nicht sagen:
Einen Fremdschlüssel zwischen diesen Datenbanktabellen erstellen.
Du kannst stattdessen das Produktverhalten beschreiben.
Zum Beispiel:
Jedes Projekt soll zu einem Kunden gehören, und ein Kunde soll mehrere Projekte haben können.
Oder:
Jeder Abschluss soll mit einem Lead, einer Immobilie und dem zuständigen Makler verknüpft sein.
Oder:
Ein Kunde soll mehrere Bestellungen aufgeben können, und jede Bestellung soll anzeigen, welcher Kunde sie aufgegeben hat.
Diese Anforderungen sagen condoo.Vibe, wie die Informationen im Produkt zusammenhängen.
condoo.Vibe kann diese Absicht in die zugrunde liegende Implementierung übersetzen.
Deine Datenbank wächst mit deiner Anwendung
Die erste Datenbankstruktur muss nicht jede Funktion abbilden, die jemals entstehen wird.
Angenommen, die erste Version enthält:
- Kunden
- Projekte
Später sagst du condoo.Vibe:
Aufgaben zu Projekten hinzufügen.
Die Anwendung benötigt nun einen weiteren Datentyp:
Kunden
↓
Projekte
↓
Aufgaben
Später:
Nutzern ermöglichen, Aufgaben zu kommentieren.
Die Anwendung wächst erneut:
Kunden
↓
Projekte
↓
Aufgaben
↓
Kommentare
Dein Datenmodell kann gemeinsam mit deinem Produkt wachsen.
Später Felder hinzufügen
Du kannst auch bestehende Daten erweitern.
Angenommen, deine Lead-Datensätze enthalten derzeit:
- Name
- Telefon
- Status
Später entscheidest du, dass weitere Informationen nötig sind.
Du kannst condoo.Vibe sagen:
Quelle, Budget, zugewiesenen Makler und Immobilieninteresse zu Leads hinzufügen. Die Formulare zum Anlegen und Bearbeiten aktualisieren und die neuen Informationen auf der Lead-Detailseite anzeigen.
condoo.Vibe kann die Anwendung an die erweiterten Datenanforderungen anpassen.
Bei wesentlichen Datenbankänderungen solltest du zuerst Plan Mode verwenden, um die Auswirkungen vor der Umsetzung prüfen zu können.
Bestehende Datenstrukturen ändern
Manche Datenbankänderungen sind weitreichender als das Hinzufügen eines Feldes.
Zum Beispiel:
Projekte sollen mehreren Kunden statt nur einem Kunden zugeordnet werden können.
Oder:
Das bestehende Datenmodell für einen einzelnen Nutzer in arbeitsbereichsbasierte Daten umwandeln, bei denen jeder Datensatz zu einer Organisation gehört.
Solche Änderungen können Folgendes betreffen:
- Bestehende Datensätze
- Beziehungen
- APIs
- Berechtigungen
- Anwendungslogik
- Benutzeroberflächen
Verwende dafür Plan Mode, besonders wenn die Anwendung bereits wichtige Daten enthält.
Deine Oberfläche kommuniziert mit der Datenbank
Die Datenbank arbeitet normalerweise im Hintergrund.
Nutzer bedienen die Oberfläche deiner Anwendung.
Wenn jemand beispielsweise Folgendes ausfüllt:
Lead hinzufügen
Name: Marcus Okonkwo
E-Mail: marcus@example.com
Budget: $1,200,000
Status: Neu
[Create Lead]
kann die Anwendung die Informationen an die passende serverseitige Funktion senden, die den Datensatz speichert.
Beim Öffnen der Lead-Seite ruft die Anwendung die relevanten Lead-Datensätze ab und zeigt sie an.
Vereinfacht:
Nutzer
↓
Anwendungsoberfläche
↓
Serverseitige Logik
↓
Neon Postgres
Beim Lesen von Informationen:
Neon Postgres
↓
Serverseitige Logik
↓
Anwendungsoberfläche
↓
Nutzer
condoo.Vibe kann diese Teile gemeinsam entwickeln.
Datenbankaktionen
Die meisten datenbankgestützten Anwendungen beruhen auf vier grundlegenden Arten von Operationen.
Erstellen
Neue Informationen hinzufügen.
Einen Lead erstellen.
Lesen
Bestehende Informationen abrufen.
Alle aktiven Leads anzeigen.
Aktualisieren
Bestehende Informationen ändern.
Den Status dieses Leads auf Qualifiziert setzen.
Löschen
Informationen entfernen.
Diesen Lead löschen.
Entwickler bezeichnen diese Operationen zusammen oft als CRUD.
Du musst diese Begriffe in Prompts an condoo.Vibe nicht verwenden.
Beschreibe einfach, was Nutzer tun können sollen.
Deine Daten filtern und durchsuchen
Sobald die Anwendung Daten enthält, benötigen Nutzer häufig Möglichkeiten, passende Datensätze zu finden.
Zum Beispiel:
Der Lead-Seite eine Suche hinzufügen, mit der Nutzer nach Name, E-Mail oder Telefonnummer suchen können.
Oder:
Maklern ermöglichen, Leads nach Status, Quelle und zugewiesenem Makler zu filtern.
Oder:
Nur Buchungen anzeigen, die für heute geplant sind.
condoo.Vibe kann Oberflächen und Anwendungslogik auf Grundlage der in deiner Datenbank gespeicherten Informationen entwickeln.
Dashboards können echte Daten verwenden
Datenbankgestützte Anwendungen können Kennzahlen aus gespeicherten Informationen berechnen.
Ein Vertriebsdashboard könnte beispielsweise anzeigen:
Leads insgesamt 1,248
Aktive Abschlüsse 37
Pipeline-Wert $4.2M
Gewonnene Abschlüsse 18
Diese Zahlen können aus Anwendungsdaten abgeleitet werden, statt fest hinterlegte Platzhalter zu sein.
Du kannst die gewünschte Kennzahl beschreiben:
Den Gesamtwert aller Abschlüsse anzeigen, die noch nicht gewonnen oder verloren wurden.
Oder:
Anzeigen, wie viele neue Leads diesen Monat im Vergleich zum letzten Monat angelegt wurden.
condoo.Vibe kann die erforderliche Datenlogik zu dieser Anfrage entwickeln.
Private Daten privat halten
Datenbankzugangsdaten und vertrauliche Verbindungsinformationen dürfen nicht in clientseitigen Oberflächen offengelegt oder fest in öffentlichen Anwendungscode eingebaut werden.
Die Anwendungsarchitektur von condoo.Vibe sollte sensible Datenbankoperationen in der passenden serverseitigen Umgebung ausführen.
Wenn ein Ablauf Zugangsdaten oder Geheimnisse erfordert, verwende die passende sichere Konfiguration oder den entsprechenden Connector-Ablauf von condoo.Vibe.
Datenbank und Authentifizierung
Deine Datenbank und die Authentifizierung lösen unterschiedliche Probleme.
Datenbank
Speichert Anwendungsinformationen.
Beispiele:
- Kunden
- Projekte
- Bestellungen
- Buchungen
- Abschlüsse
Authentifizierung
Ermittelt, wer der Nutzer ist.
Beispiele:
- Leon ist angemeldet
- Sarah ist angemeldet
- Marcus ist angemeldet
Beide können zusammenarbeiten.
Zum Beispiel:
Jedem Nutzer nur die Projekte anzeigen, die zu seinem Konto gehören.
Die Authentifizierung sagt der Anwendung, wer der Nutzer ist.
Die Datenbank enthält die Projekte und die Angaben zu deren Eigentümern.
Die Anwendungslogik bestimmt, auf welche Datensätze dieser Nutzer zugreifen darf.
Authentifizierung behandeln wir auf der nächsten Seite.
Datenbank und Anwendungslogik
Die Datenbank speichert Informationen, definiert aber nicht das gesamte Produkterlebnis.
Angenommen, Folgendes ist vorhanden:
Abschluss
├── Wert
├── Phase
└── Erwartetes Abschlussdatum
Die Anwendungslogik könnte festlegen:
Wenn ein Abschluss auf Closed Won gesetzt wird, das Abschlussdatum erfassen und seinen Wert zur Kennzahl für gewonnenen Umsatz hinzufügen.
Die Datenbank speichert die Informationen.
Die Anwendungslogik bestimmt, was geschehen soll.
condoo.Vibe kann beide Bereiche bearbeiten.
Technische Details sind möglich
Mit condoo.Vibe kannst du Anforderungen auf dem für dich passenden technischen Niveau beschreiben.
Ein Nutzer ohne technischen Hintergrund könnte sagen:
Jeder Kunde soll mehrere Projekte haben können.
Ein Entwickler könnte genauere Anforderungen zu Folgendem angeben:
- Datenbeziehungen
- Feldtypen
- Validierung
- Indizes
- Einschränkungen
- Abfragen
- API-Verhalten
- Migrationsanforderungen
Beide Ansätze können hilfreich sein.
Du musst kein Datenbankentwickler werden, um mit condoo.Vibe datenbankgestützte Produkte zu erstellen. Technische Nutzer können bei Bedarf trotzdem detaillierte Vorgaben machen.
Beispielprompts
Hier sind Beispiele für natürlichsprachliche Anfragen, die Datenbankfunktionen erfordern.
Buchungsanwendung
Kunden sollen Termine buchen können. Kunde, Dienstleistung, Mitarbeiter, Termindatum, Uhrzeit und Buchungsstatus speichern.
CRM
Leads mit Name, E-Mail, Telefon, Unternehmen, Quelle, Status, zugewiesenem Makler, geschätztem Wert und Notizen hinzufügen.
Projektmanagement
Jeder Arbeitsbereich soll Projekte haben. Projekte sollen Aufgaben enthalten, die Mitgliedern des Arbeitsbereichs zugewiesen werden können.
E-Commerce
Produkte, Kunden, Bestellungen und Bestellpositionen speichern. Kunden sollen nach der Anmeldung ihre früheren Bestellungen ansehen können.
Immobilienplattform
Maklern ermöglichen, Immobilienangebote mit Titel, Standort, Preis, Immobilientyp, Schlafzimmern, Badezimmern, Beschreibung und Angebotsstatus zu erstellen.
Du beschreibst die Produktanforderung.
condoo.Vibe übernimmt die dafür erforderliche datenbankgestützte Umsetzung.
Das Prinzip
Du solltest die Produktentwicklung nicht mit dem Entwurf von Datenbanktabellen beginnen müssen.
Beginne mit:
Welche Informationen benötigt mein Produkt?
Dann:
Wie sollen diese Informationen zusammenhängen?
Dann:
Was sollen Nutzer damit tun können?
condoo.Vibe kann helfen, diese Antworten in eine funktionierende Anwendung mit Neon umzusetzen.
Weiter: Authentifizierung
Deine Datenbank gibt der Anwendung dauerhaft gespeicherte Informationen.
Viele Anwendungen müssen aber auch wissen:
Wer verwendet die Anwendung?
Als Nächstes betrachten wir die Authentifizierung: wie condoo.Vibe die Anmeldung mit Google sowie E-Mail und Passwort hinzufügen, Anwendungsbereiche schützen und Funktionen für angemeldete Nutzer entwickeln kann.