Schnelle Entwicklung von KI-Anwendungen: Von der Idee zum MVP ohne Programmierung | Nima Tahami | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Schnelle Entwicklung von KI-Anwendungen: Von der Idee zum MVP ohne Programmierung

teacher avatar Nima Tahami, Entrepreneur & Product Designer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Kurs-Einführung

      1:06

    • 2.

      Notiz hinter den Kulissen

      1:16

    • 3.

      Schnelles Design

      6:05

    • 4.

      ChatGPT zur Planung unserer App verwenden

      7:54

    • 5.

      Entscheidung für das Gerät

      3:14

    • 6.

      Inspiration bekommen

      2:46

    • 7.

      Planung unserer Funktionen

      4:53

    • 8.

      Überprüfen von Entwürfen

      4:38

    • 9.

      Einen Stapel auswählen

      4:39

    • 10.

      Einrichtung unseres Projekts

      3:31

    • 11.

      Verwenden von Git

      3:28

    • 12.

      Auswählen des Cursormodells

      1:42

    • 13.

      Startseite hinzufügen

      6:35

    • 14.

      Designverbesserungen

      2:50

    • 15.

      Reiseseite

      5:45

    • 16.

      Weiterleitung zum Dashboard

      3:21

    • 17.

      Ausgaben hinzufügen

      4:43

    • 18.

      Authentifizierungsseiten

      6:13

    • 19.

      Datenbank

      4:29

    • 20.

      Authentifizierung abschließen

      5:37

    • 21.

      Fahrten erstellen

      9:06

    • 22.

      Ausgabenfluss

      4:24

    • 23.

      Branding

      2:57

    • 24.

      Verbinden der Domäne zum erneuten Senden

      4:08

    • 25.

      Einrichtung von Freunden einladen

      3:26

    • 26.

      Testen von Einladungslinks

      4:51

    • 27.

      Guthaben hinzufügen

      5:05

    • 28.

      Wir kommen zum Ende.

      2:43

    • 29.

      Endgültige App-Überprüfung

      3:04

    • 30.

      Überprüfung der Landingpage

      6:44

    • 31.

      Stripe-Einrichtung

      8:36

    • 32.

      Stripe-Webhook

      3:35

    • 33.

      Sicherheitseinstellungen

      3:17

    • 34.

      Vorstoß zur Produktion

      6:42

    • 35.

      Stripe-Integration abschließen

      3:39

    • 36.

      Was kommt als Nächstes?

      3:23

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

46

Teilnehmer:innen

--

Projekte

Über diesen Kurs

Die meisten Menschen entwickeln ihre Ideen nie. Sie denken zu viel, bleiben bei technischen Details hängen oder schauen sich wochenlang Tutorials an, ohne jemals etwas Wirkliches zu schaffen.

Dieser Kurs ist anders. Sie können schnell von einer einfachen Idee zu einer echten, funktionierenden KI-gestützten App übergehen.

Kein Flausch. Keine endlose Theorie. Sie entwickeln Schritt für Schritt mit mir zusammen und verwenden moderne Tools, die fortgeschrittene Programmierkenntnisse überflüssig machen. Ich zeige Ihnen die genauen Schritte, die ich unternommen habe, um in den letzten Monaten eine App pro Monat zu starten.

Folgendes wirst du lernen:

  • Verwandeln Sie jede Idee in ein klares, entwickelbares Produkt

  • Entwurf und Strukturierung Ihrer App für den realen Einsatz

  • Verwenden Sie KI-Tools zur Beschleunigung der Entwicklung und Erstellung von Funktionen

  • Erstellen und Verteilen eines funktionierenden MVP ohne Probleme

Am Ende dieses Kurses werden Sie nicht nur verstehen, wie Apps erstellt werden. Du wirst einen für dich haben.

Eine echte App, die Sie teilen, verbessern oder sogar in ein kostenpflichtiges Produkt verwandeln können.

Ganz gleich, ob Sie ein Designer, ein Entwickler oder ein absoluter Anfänger sind, dieser Kurs soll Ihnen helfen, vom Denken zum Bauen überzugehen.

Wenn Sie schon immer etwas erstellen wollten, aber nicht wussten, wo Sie anfangen sollten, ist dies Ihr Ausgangspunkt.

Triff deine:n Kursleiter:in

Teacher Profile Image

Nima Tahami

Entrepreneur & Product Designer

Kursleiter:in

Hello, I'm Nima. I'm a design instructor with more than 12 years of experience designing and developing dozens of mobile & web apps for both clients and startups of my own. I've co-founded ShiftRide, which has been covered in many news outlets, including Forbes, where our app design was highlighted for its ease of use.

I teach online to help people become the best designer they can be. Design is the foundation of all great products, websites, advertisements, and everything in between. I've also designed and developed an open-source iPhone development library by the name of FCAlertView, helping thousands of app developers use beautiful customizable alert prompts within their applications.

Join me on a mission to design a better future together!

Vollständiges Profil ansehen

Level: Intermediate

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Kurs-Einführung: Hallo, da. Willkommen zum VAST-Kurs Build AI Apps. Mein Name ist Nima Tahami und in den letzten Jahren hatte ich das Glück, über 18.000 Schüler zu unterrichten und Dutzende von Apps zu entwickeln Sie sehen, die meisten Menschen geben ihre Idee auf bevor sie überhaupt anfangen, sie zu entwickeln und Sie fangen an, alle Teile zu überdenken oder bleiben im Code stecken Sie müssen eigentlich keine Programmierkenntnisse mehr haben , um Ihre Ideen zum Leben zu erwecken. Dank KI. In diesem Kurs werde ich Ihnen die genauen Schritte zeigen, die ich unternehme, um eine Idee von einer Idee über Designs bis hin zu einem echten Produkt zu entwickeln. keine Programmierkenntnisse erforderlich, und Sie erhalten eine App, die tatsächlich live im Internet verfügbar ist und die von den Leuten genutzt und bezahlt werden kann. Egal, ob Sie ein Designer sind, wenn Sie nicht mehr nur Bildschirme entwerfen , oder ob Sie ein Produktmanager sind, der seine Ideen zum Leben erwecken möchte, dann ist dieser Kurs genau das Richtige für Sie. Und Sie werden sich diesen Kurs nicht nur ansehen. Sie können tatsächlich zusammen mit mir entwickeln und Ihre eigene Idee zum Leben erwecken und lernen, wie Sie Tools wie Claude und Cursor verwenden können, um Ihre App viel schneller zu erstellen. Das ist ein super praktischer Kurs. Ich hoffe, Sie sind bereit, Ihre Idee tatsächlich umzusetzen und endlich zum Leben zu erwecken. Lass uns anfangen. 2. Notiz hinter den Kulissen: Bevor ich mit den Vorlesungen weitermache, möchte ich hier eine kurze Pause einlegen, nur um Ihnen kurzen Einblick hinter die Kulissen , wie diese Vorträge tatsächlich gemacht werden wird eine Menge Zeit in die Planung der Vorlesungen und das Filmen und Bearbeiten gesteckt. Ich habe ein Tool namens Clip entwickelt , mit dem ich jetzt alle meine Aufzeichnungen mache, einschließlich der Vorträge, die Sie gerade ansehen wollten. Ich freue mich sehr darüber , deshalb zeige ich es Ihnen. Ich lasse im Grunde das Filmmaterial, das ich für die Vorlesungen habe, fallen das Filmmaterial, das ich für die Vorlesungen habe , und anstatt Dutzende von Stunden damit zu verbringen, Dutzende von Stunden den gesamten Kurs mit dem Editor zu bearbeiten, habe ich jetzt die KI in diesem Tool, die Bearbeitung übernimmt. Wenn Sie auch nur im Entferntesten darüber nachdenken Tutorials oder YouTube oder andere Kursinhalte zu erstellen, oder Inhalte in der Art eines pädagogischen Talkkopfs zu erstellen, könnte das auch sehr hilfreich sein. Im Moment geht es das durch und bereinigt all die Fehler, die ich gemacht habe, damit, wenn du dir die Vorlesungen ansiehst , es ist professionell, es ist glatt, es ist sauber und du sitzt nicht da und verschwendest deine Zeit damit, dir einen Vortrag anzusehen , der keinen Sinn macht, oder nur zufällige Pausen während des gesamten Videos. Also schau es dir an. Hier gibt es einen Link, falls Sie wiederum daran interessiert sind, Inhalte zu filmen oder einfach nur herumzustöbern und zu sehen , ob Sie es für Ihren eigenen täglichen Gebrauch verwenden können . Genieß den Rest des Kurses. 3. Schnelles Entwerfen: Das ist also eine spannende Woche, in der wir tatsächlich unser Produkt entwickeln können, aber nicht irgendein Produkt oder irgendeine Version unseres Produkts, das Produkt mit minimaler Rentabilität, von dem Sie sicher gehört haben der wertvollste Teil des Produkts oder der Wert dass es der wertvollste Teil des Produkts oder der Wert ist, den unser Unternehmen haben wird Wir werden es in einer kleinen App oder einem Produkt verpacken und das gezielt verkaufen, richtig? Ähm, also, ich weiß, du hast vielleicht tonnenweise Funktionen im Sinn und tonnenweise Möglichkeiten, deine Idee umzusetzen, und, weißt du, dasselbe für mich und die App beim Entwickeln, aber ich werde nicht voreilig eine Liste mit 20 Funktionen schreiben und dann jede einzelne erstellen, richtig. Wenn ich nicht garantiert habe, dass ich Kunden für mein Produkt finde, ist das potenziell Zeitverschwendung. Aber was hilfreich sein wird, ist, einzugrenzen , welche Funktionen oder welche Teile der Werte, über die wir gesprochen haben der Benutzer von dem Produkt erwartet, und sich speziell darauf zu konzentrieren Ähm, also bei diesem Set werden wir für Geschwindigkeit und nicht für Perfektion entwerfen . Also gebe ich dir ein Beispiel. Dies ist die allererste Version meines Bearbeitungs-App-Clips, die ich erstellt habe. Es war noch kein vollwertiger Editor. Erstens habe ich tatsächlich nur ein Feature dieses Produkts entwickelt. Und diese Funktion dient eigentlich dazu, lange Vorträge oder längere Videos in kurze Rollen zu verwandeln. Es wird also Ihr längeres Video nehmen und wir machen daraus kleinere Videos, basierend auf dem Protokoll und dem, was daran interessant ist Und wie Sie sehen können, sind die Designs auch sehr einfach. Es gibt kein ausgefallenes Design, obwohl ich wahrscheinlich mehr Zeit damit hätte verbringen können, es zu entwerfen. Ich entschied mich für die einfachste Version, die ich konnte. Du lässt einfach deine Videos fallen. Und zu der Zeit habe ich sogar bei den Designs den Leuten erlaubt, mehrere Videos zu veröffentlichen, aber irgendwann habe ich auf nur ein Video zurückgegriffen Also auch hier möchten Sie Ihre Funktionen auf den wichtigsten Wert eingrenzen , den Sie den Benutzern vermitteln möchten Bleib dabei. Das Gleiche. Hier habe ich ein Onboarding für das Video. Sobald du das Video veröffentlicht hast, wirst du gefragt, ob es Figma-Kurs geht Auch hier habe ich diesen Figma entworfen, aber in Wirklichkeit habe ich sogar diesen Schritt gemacht und ihn so gestaltet, dass Sie einfach nur die Themen auswählen, die Sie exportieren möchten Sobald das Transkript analysiert wurde, müssen Sie, anstatt Sie zu fragen, worum es in diesem Kurs geht, anstatt Sie zu fragen, worum es in diesem Kurs geht, einfach ankreuzen, welches der Themen Sie exportieren möchten Ähm, so super einfach. Nochmals, all das sind wahrscheinlich insgesamt drei Bildschirme, vielleicht vier. Das ist alles Teil desselben Bildschirms. Es ist wie ein Ladebildschirm. Und auch hier, obwohl ich Designerin bin und nach Perfektion suche, versuche ich, nicht zu tief in die Designdetails vorzudringen und einfach auf den einfachsten Teil dieses Produkts zu konzentrieren. Und dann kann man sich ihre Videos ansehen, und von hier aus können sie es wieder, heißt es, bearbeiten. In der ersten Version gab es keine Bearbeitungsmöglichkeiten . Sie können es nur öffnen, das Filmmaterial ansehen, es exportieren, löschen und dann mit dem nächsten fortfahren Also wieder super einfach. Und hier hatte ich es sogar, sodass Sie wieder Ordner für jedes Projekt haben wieder Ordner für jedes Projekt und in Projekte wechseln können. Für die erste Version war es also sehr einfach, und ich ermutige Sie, dasselbe zu tun. Designen Sie nicht bis zur Perfektion, sondern für eine Art MVP- oder Feature-Compilation, oder? Konzentrieren Sie sich also auf das, was die wichtigste Funktion Ihrer App ist , die das Problem für die Nutzer tatsächlich löst , und konzentrieren Sie sich darauf Vergiss all die anderen Funktionen, oder? dabei zu helfen, empfehle ich dir wirklich, auch den Community-Bereich in Figma zu nutzen , wenn du deine Designs in Figma machst , was ich sehr Sie haben bereits Tonnen von UI-Kits drin, die die Leute bereits entworfen haben Ich empfehle Ihnen sehr, wenn Sie eine Designbibliothek wie ShatCN verwenden Das ist auch großartig. Viele Unternehmen verwenden es, vor allem, wenn Sie etwas entwerfen, das vielleicht einen Dashboard-Bildschirm oder etwas anspruchsvolleres hat. Sie haben jede Menge Komponenten wie Diagramme, die Sie verwenden können, und Dashboards Verweisen Sie also auf jeden Fall hier auf diesen. Nochmals, wenn Sie einen von ihnen öffnen, wir an, ich habe diesen ersten hier geöffnet. Auch dies ist eine Designbibliothek, die von Verso geöffnet wird und die Sie verwenden können So können Sie alle Komponenten sehen, die sie bereits haben. Sie müssen zum Beispiel keine Eingabekomponente von Grund auf neu entwerfen , sondern ziehen Sie einfach eine von hier her. Sie haben einen Farbtyp, und ich glaube, es gibt auch umfangreichere Versionen davon. Wenn Sie sich das hier ansehen, sind sie, wie alle Komponenten, nach Seiten aufgeschlüsselt. Sie haben also Alarm-Dialoge, ähm, Avatare, Badges, Breadcrumb-Navigation, Schaltflächengruppen Erkunden Sie also, was Ihnen zur Verfügung steht, und versuchen Sie nicht, alles von Grund auf neu zu nicht Und Sie werden sehen, wenn wir anfangen, unser Produkt zu entwickeln, werden wir diese Bibliotheken nutzen anstatt alles von Grund auf neu zu machen. Wenn Sie also mit der Entwicklung des Produkts weitermachen und wir zurückkommen und ChatGPT verwenden, um unseren Funktionsumfang einzugrenzen, Sie daran dass Sie externe Bibliotheken verwenden möchten Sie möchten die Mindestanzahl der Seiten, die Sie für Ihre App benötigen, einfach halten Mindestanzahl der Seiten, die Sie für Ihre App benötigen, einfach Seiten, die Sie für Ihre App benötigen, Du brauchst keine ausgefallenen Einstellungen oder Profilfunktionen nur bei, weißt du. Diese kleinen Details sind also im großen Maßstab wichtig, aber zunächst, wenn Sie gerade erst anfangen, müssen Sie keine Zeit damit verbringen, alle einzelnen Seiten zu Zeit damit verbringen, alle einzelnen Seiten Kommen Sie zurück und beginnen Sie dann mit eigentlichen Planung. Was werden wir bauen Ich werde über mein Produkt sprechen, aber wenn ich das mache, tun Sie natürlich dasselbe für Ihr Produkt. 4. Verwenden von ChatGPT zur Planung unserer App: Richtig, also bereiten wir uns Arbeit an unserer ersten Version unserer App zu beginnen , bevor wir sie entwickeln und sogar die gewünschten Funktionen entwerfen Wir wollen natürlich KI nutzen, um uns bei der Entscheidung für einige dieser Funktionen zu helfen. Und eine meiner Lieblingsübungen ist es, mit ChatGPT über, du weißt schon, die erste Version unseres Also hier habe ich eine Aufforderung geschrieben, die mir helfen soll, die erste Version einer MVP einer App zu planen Für eine App, die Benutzern hilft, den Überblick über ihre Ausgaben zu behalten , Rechnungen für Reisen einfach aufzuteilen und nur die Funktionen zu schreiben, die den Nutzern den größten Mehrwert Recherchieren Sie, was Wettbewerber wie Split Wise in ihrem Produkt vermissen oder worüber sich Nutzer online beschweren . Das macht zwei Dinge Erstens gibt es uns einige Funktionen, die am wichtigsten sind und die wir entwickeln werden, anstatt einfach alles , was wir bauen können. Dann wird es auch ein bisschen online nachschauen , vielleicht bei Reedit und anderen Quellen Es wird sich also tatsächlich mit diesen Ressourcen befassen, wenn Sie ihm sagen, dass es etwas recherchieren soll, um online zu sehen , welche Beschwerden sie über diese Produkte Wenn Sie möchten, können Sie spezifischer sein und sagen: Schauen Sie auf Reedit und Websites wie G two , der Bewertungsplattform für Apps Also drücken wir die Eingabetaste und schauen, was dabei herauskommt Und wie Sie sehen können, durchsucht es das Internet und erstellt dann MVP-Plan, der auf echten Benutzerbeschwerden von Redt, dem Trust-Pilotprojekt und den Feedback-Foren für Apps basiert Trust-Pilotprojekt und den Feedback-Foren für Apps Auf dieser Grundlage kam ich mit künstlicher Reibung und Paywalls zurück, kam ich mit künstlicher Reibung und Paywalls zurück, dem größten Schmerz. Das ergibt Sinn Jedes Mal, wenn ich Blitzwise verwende, können Sie nur eine bestimmte Anzahl von Transaktionen hinzufügen Wie hier steht, gibt es drei pro Tag, die du hinzufügen kannst, und dann zwingt dich das, für die App zu bezahlen, oder? Es könnte also interessant für uns sein, diese Möglichkeit zu nutzen und tatsächlich ein Produkt zu entwickeln, das vielleicht, du weißt schon, einmalig bezahlt wird, wie ein Lifetime-Deal oder so. Zahlen Sie, ich weiß nicht, 20, 30, 40 Dollar. Auch hier werden wir uns die Preise ausdenken, zahlen aber X Dollar. Sie erhalten das Produkt, Sie müssen sich nicht jedes Mal Sorgen machen es Sie um eine Zahlung bittet, oder? Also ich glaube, die Gebühren verteilen sich auf ein paar Dollar pro Monat. Aber auch hier könnte es nervig sein, immer von diesem Bildschirm getroffen zu werden, und ich weiß, dass mir das schon einmal passiert ist . Jede Reibung fühlt sich inakzeptabel an. Also werden wir damit bauen, oder? Das ist zwar kein Feature, aber es ist eine Benutzererfahrung , auf der wir aufbauen und eine bessere Version davon entwickeln werden. Zu viele Reibungsverluste bei der Einrichtung sind sinnvoll. Ich habe das auch gemacht. Es sind Gruppen involviert, und Einladungen können chaotisch sein. Wenn wir also Freunde einladen, machen wir es ganz einfach Tatsächlich werden wir es so gestalten, dass du nicht einmal ihre E-Mail-Adressen eingeben musst, vielleicht teilst du einfach einen Link und die Leute können automatisch an Reisen teilnehmen, ohne ihre E-Mails im Voraus wissen zu müssen . Wenn wir das also erstellen, werden wir es so gestalten, dass Benutzer möglichst wenige Schritte unternehmen können, um Freunde einzuladen, oder? Also werden wir das behalten. Nicht unbedingt ein Feature. Auch hier geht es um eine Verbesserung der Benutzererfahrung, aber ich baue dabei auf Design als Unterscheidungsmerkmal, und Sie möchten dasselbe tun Lassen Sie uns also weitermachen und das im Hinterkopf behalten. Und wenn Sie das durchgehen, notieren Sie sich auch, ob es auf einem Blatt Papier oder auf Ihrem Computer ist. Notieren Sie sich, was Sie tun möchten , das sich von dem unterscheidet, was die Konkurrenz da draußen tut , sodass Sie sich von anderen abheben können. Verwirrendes Mentalmodell zur Beruhigung, nicht wahr? Wenn Sie also versuchen, eine Einigung zu erzielen, verstehen die Leute nicht unbedingt, wie das funktioniert, es ist unklar, wer wem zu viele Mikrotransfers zahlen soll , emotionale Unbeholfenheit Also können wir das auch in das Produkt einarbeiten, oder? , wenn die Reise vorbei ist Warum machen wir es nicht einfach, wenn die Reise vorbei ist, herauszufinden, wer wie viel bezahlen muss? Vielleicht schicken Sie ihnen sogar E-Mail-Erinnerungen oder ähnliches, oder? Mir ist auf Split Wise aufgefallen, ich keine Erinnerungen erhalten habe , wenn ich jemanden bezahlen muss Es schickt mir monatliche Kontoauszüge, aber das ist etwas anderes als, weißt du, wenn du deinen Freund irgendwie dazu bringen musst, hey, kannst du mir etwa 100 Dollar zahlen für irgendwas wie Airbnb, oder? Das könnten unangenehme Momente sein, und das könnte ein weiterer Aspekt sein, um unser Produkt von Splitwise zu unterscheiden Also ja, hier gibt es jede Menge Dinge , auf die ich nicht zu sehr ins Detail gehen werde, aber ich werde sie bei meinem Designprozess berücksichtigen Die Kernchance ist also, dass die Nutzer kein Finanzinstrument wollen. Sie wollen einen Helfer bei der Reisekoordination , der automatisch mit Geld umgeht. Wir sind auf einer Reise, mach einfach diese Aufwandsliste. Nur MVP-Funktionen, die die sofortige Erstellung von Reisen mit echtem Mehrwert fördern, oder? Das heißt also, keine Konten. Eine Reise erstellen, einen Share-Link generieren, genau das, was ich mir auch vorgestellt hatte. Leute treten per Link bei. Es ist keine Anmeldung erforderlich. Ich bin mir beim Anmeldeteil nicht hundertprozentig sicher und das liegt nur daran , dass wir immer noch Benutzer benötigen, um sich zu authentifizieren Aber ich könnte mir vorstellen, dass das möglicherweise auch funktioniert. Also muss mindestens eine Person ein Konto erstellen, um die Reise zu erstellen, aber die Gäste müssen das möglicherweise nicht tun. Und nochmal, das sind gerade, wir sind gerade dabei, ein Brainstorming durchzuführen. Wenn wir zum eigentlichen Gebäudeteil kommen, was bald darauf passieren wird, werden wir diese tatsächlich definieren, bevor wir Hat sogar eine Reihe von Funktionen ChatGPT sagt, dass Sie diese sicher nicht in das MVP aufnehmen sollten, und das werden wir im Hinterkopf behalten, wie, Sie wissen schon, Bankintegration, Abonnements usw. Also hier ist, was es sich ausgedacht hat. Es heißt: Cor Loop, Reise erstellen , Link teilen, Ausgaben sofort hinzufügen, Saldo sehen, übersichtlich abrechnen, mit minimalen Zahlungen abrechnen. Ich finde das großartig, oder? Das ist also ein bisschen einfacher als alle anderen Funktionen, die es hier eingerichtet hat. Aber wenn wir eine einfache Version davon erstellen, ist das Feature wirklich nur eine Sache. Und das ist, du weißt schon, die Möglichkeit, deine Reise auf der Grundlage der Ausgaben zu begleichen, oder? Wir bauen nicht, obwohl es uns diese Schleife von verschiedenen Bildschirmen mitteilt , die wir vielleicht benötigen. Möglicherweise benötigen Sie einen Bildschirm, um eine Reise zu erstellen. Derselbe Bildschirm, den Sie teilen können. Das Hinzufügen von Ausgaben wäre Teil desselben Bildschirms, wobei Saldo wieder auf demselben Bildschirm angezeigt würde. Minimale Zahlungen, wir werden uns nur eine Welle von genau demselben Bildschirm aus einfallen lassen, auf dem Sie tatsächlich sehen können , wem was gehört. Natürlich wird der Bildschirm verschiedene Zustände und verschiedene Komponenten haben , aber wir werden ihn so sauber wie möglich halten. Natürlich benötigst du auch einen Startbildschirm, um Reisen von dort aus erstellen zu können. Sie haben also einen Startbildschirm , auf dem Sie alle Ihre Reisen sehen können. Ähm, dann musst du auf der Reisen-Seite nicht zu verschiedenen Orten navigieren, ein supereinfacher Ort, um zu sehen, was insgesamt ist, wie hoch der aktuelle Saldo ist, wem gehört was? Und dann die Möglichkeit, Ausgaben hinzuzufügen, und wir werden es so sauber wie möglich halten und wieder mit so wenigen Bildschirmen wie möglich arbeiten. In diesem Sinne werde ich mit den Designs beginnen. Du machst dasselbe in der nächsten Vorlesung. Ich werde zurückkommen, um zu erklären, wie ich mein Design gemacht habe und welche Entscheidungen ich auf den Seiten getroffen habe , die ich gerade erklärt habe. Also werde ich die ersten zwei oder drei Hauptbildschirme entwerfen , die Authentifizierung, alle Fahrten und dann spezifische individuelle Reiseseiten. Also werde ich das entwerfen. Sie entwerfen Ihre wichtigsten Bildschirme, beschränken Sie es auf drei oder höchstens vier, wenn Sie können. Ich weiß, dass einige Produkte vielleicht etwas komplizierter sind als andere, aber versuchen Sie auch hier, es auf das Minimum und die wichtigsten Bildschirme zu beschränken. Wir sehen uns in einer Minute und freue mich darauf, auch Ihr Design zu sehen. 5. Entscheidung für das Gerät: Bevor Sie mit Ihrem Designprozess beginnen, fragen Sie sich vielleicht, ob ich eine Webanwendung erstellen sollte. Sollte ich eine mobile Anwendung erstellen? Sollte ich eine Desktop-Anwendung erstellen. Es gibt jede Menge Fragen dazu, was gebaut werden soll und mit welchem Stack man bauen soll. Der Stack besteht aus all den Tools und der Software, die wir verwenden werden, um unsere App tatsächlich zu entwickeln Nun, meine Meinung dazu ist sehr einfach. Im Allgemeinen verwende ich einfach eine Webanwendung, die mobilfreundlich ist auf die Benutzer über ihren Browser im Internet zugreifen können, es sei denn, hier kommen die nativen Anwendungen ins Spiel. Es sei denn, Sie machen etwas Bestimmtes, wie z. B. Videobearbeitung, etwas, das die Stop-Maschine des Benutzers mit einbezieht. Sie möchten einen Teil dieses Speichers, dieser Leistung oder dieses Speichers nutzen. Für meinen Clip-Desktop-Editor habe ich beschlossen, ihn eigentlich nur für den Desktop zu erstellen, aber er verarbeitet die gesamte Videobearbeitung und das Rendern lokal , und ich muss das nicht auf einem Server machen, was vor allem am Anfang teuer sein könnte. Für eine einfache Webanwendung wie Bitwise Petit oder Friends on Trips kann man nun wie Bitwise Petit oder Friends on Trips Rechnungen aufteilen Eine Webanwendung ist ausreichend. Jetzt tendiere ich vielleicht dazu, später eine native Anwendung zu erstellen, die ich in den App Stores einreichen kann , damit Benutzer sie auf ihr Handy herunterladen können. ist praktisch, wenn mein ENS diese App täglich oder wöchentlich nutzen wird , vor allem, wenn ich B2B-Routen verwende und ich Benutzer habe , die möglicherweise wöchentlich beruflich unterwegs sind. Das ist ein Ort, an dem es am sinnvollsten ist, eine native mobile Anwendung zu erstellen. Oder in Ihrem Fall, wenn Sie eine App entwickeln , bei der der Benutzer mit dieser App interagiert täglich oder wöchentlich und häufig mit dieser App interagiert, ist es möglicherweise besser, sie als native App zu erstellen. Natürlich haben sie alle ihre Herausforderungen. Wenn Sie eine native App erstellen, müssen Sie sie im App Store einreichen und Apple muss sie überprüfen, bevor Sie sie tatsächlich live im App Store sehen können. Der App Store kann auch sehr wettbewerbsfähig sein. Aber auch wenn Sie eine Web-App erstellen, Sie vor dieser Herausforderung. Aber es gibt Vor- und Nachteile. Auf dieser Grundlage müssen Sie selbst entscheiden, was am sinnvollsten ist. Auch hier würde ich im Allgemeinen einfach eine Webanwendung verwenden, auf die über den Browser zugegriffen werden kann. Jeder hat einen Browser auf seinem Handy und man muss wirklich darüber nachdenken. Handelt es sich bei Ihrer Anwendung um ein SAS, auf das möglicherweise nur über das Internet auf einem Computer zugegriffen werden kann, dann ist es in diesem Fall eine einfache Wahl. Aber wenn Sie etwas entwickeln, das die Leute vielleicht häufiger auf Mobilgeräten verwenden, dann wird die Auswahl etwas schwieriger. Aber auch hier tendiere ich zu einer Web-App, es sei denn , Sie haben spezielle Fälle, in denen der Benutzer A, die Maschinenleistung des Geräts in dem Umfang nutzen muss der Benutzer A, die Maschinenleistung des Geräts in dem Umfang nutzen , zum Beispiel für ein Spiel, oder wenn Sie eine App erstellen möchten , die Benutzer täglich oder wöchentlich verwenden, zum Beispiel, sagen wir, eine Einkaufs-App. Sie jetzt daran, dass Sie Ihren Stack später jederzeit ändern können. Sie können Ihre Web-App jederzeit auch zu einer mobilen App machen. Fangen Sie einfach mit den Grundlagen an, beginnen Sie mit dem, was am schnellsten ist, und deshalb schlage ich für die meisten Ideen eine Web-App vor. 6. Inspiration bekommen: Ordnung, jetzt, wo wir entschieden haben, was wir entwickeln wollen und welche Funktionen wir für unser MVP darauf aufbauen wollen, brauchen wir etwas Inspiration von anderen Tools, die es bereits gibt, um unsere eigene App zusammenzustellen Der beste Weg, das zu tun, besteht darin, diese Plattform namens Mobiin zu verwenden , die enthält Screenshots von buchstäblich Tausenden verschiedener Anwendungen und sogar Animationen als Teil davon zeigt Dies ist ein großartiges Tool , um zu sehen, was andere Apps tun Hier oben können Sie also tatsächlich nach der jeweiligen App suchen. Sie können auch danach filtern , ob Sie nach Webdesigns, iOS- oder Mobilgeräten suchen . Also werde ich hier nach Split Wise suchen , weil das ein ähnliches Tool ist was ich erstellen werde . Wenn ich es öffne, können Sie sehen, dass alle Split-Wise-Bildschirme hier angezeigt werden. Sie können tatsächlich weitermachen und es speichern. Das werde ich speichern. Sie können alle einzelnen Bildschirme hier sehen. Hier haben wir Zuschlag und Kosten. Ich werde einiges davon verwenden , um tatsächlich entwerfen zu können. Sie können genau sehen, wie Sie die Splits durchführen können. Wie sie ihre Transaktionsseite anzeigen und sogar einige zusätzliche Seiten haben, finden Sie hier unten. Während Sie das tun, können Sie tatsächlich einzelne Bildschirme auswählen. Ich wähle diese Bildschirme hier gerne für den zusätzlichen Kostenfluss aus. Ich werde weitermachen und diese drei kopieren. Sie haben dieses Plug-In, das Sie installieren und dann zur App wechseln und auf Ausführen klicken können. Von hier aus können Sie die Bildschirme dann tatsächlich einfügen. Ich drücke Befehl V. Und es hat die Bildschirme hier eingefügt Während ich meine App entwerfe, werde ich mir diese Bildschirme ansehen, um mich inspirieren zu lassen Das können Sie natürlich mit mehreren verschiedenen Apps tun. Wenn Sie auf Mobiin suchen, werden Sie auf jeden Fall die Screenshots Ihrer Konkurrenten finden Screenshots Ihrer Konkurrenten und diese als Inspiration für Ihre eigenen Designs verwenden Es gibt noch eine weitere sehr hilfreiche Möglichkeit, Mobiin zu verwenden, und das ist der Flow-Tab Wenn Sie von den Bildschirmen aus tatsächlich zu Flows wechseln, können Sie die Bildschirme einfacher durchsuchen Ich möchte zum Beispiel einen Blick darauf werfen, wie Leute ihre Ausgaben aufgeteilt hinzufügen. Ich kann mir die Kategorie der Ströme ansehen. Hier gehen wir also zu Hinzufügen und Ausgaben, und wir haben alle Bildschirme, die sich auf das Hinzufügen von Ausgaben beziehen , nebeneinander, was sehr hilfreich ist. Wenn ich jetzt meine eigene App entwerfe, achte ich darauf, dass ich in diesem Flow nichts verpasse. Auch hier kann ich das entweder in meiner Handysammlung speichern, es Reisekosten-App nennen, auf Erstellen klicken oder es erneut nach Figma kopieren 7. Planung unserer Funktionen: Nachdem wir nun einige Beispiele für Apps gesehen haben , die eine ähnliche Funktionalität bieten, werde ich die Modelle durchgehen , oder jetzt sind es hauptsächlich Wireframes , die Nicht einmal Wireframes, sondern meistens nur Anforderungen, würde ich sagen Für die Authentifizierungsseite habe ich den einfachen Anmeldebildschirm Figma aus der ShaTSN-Bibliothek abgerufen habe ich den einfachen Anmeldebildschirm Figma aus der ShaTSN-Bibliothek abgerufen. Oder in diesem Fall beim Anmeldebildschirm werde ich dafür sorgen, dass der Anmeldebildschirm sehr ähnlich aussieht , mit einem Bild hier, Eingabe auf der linken Seite und dann möglicherweise einer E-Mail-Bestätigung, die so aussieht Auch hier habe ich das direkt aus der CN-Bibliothek des Chats abgerufen . Jetzt werde ich eine Willkommensseite haben, auf der schnell nach dem Namen des Benutzers gefragt wird und möglicherweise sogar nach seiner ersten Reise gefragt wird. Das wären drei Schnellfelder, um den Namen und die erste Reise von ihnen zu bekommen, was den Namen der Reise und die Daten beinhalten wird, aber die Daten, ich denke, ich denke , ich habe es stattdessen einfach. Sobald sie dann zu ihrem Dashboard, dem Haupt-Startbildschirm, gehen , sehen sie alle ihre Reisen. Von dort aus können sie eine neue Reise erstellen. Klicken Sie auf eine Schaltfläche, um eine neue Reise zu erstellen. Sie sehen eine Navbar Dann finden Sie unter jeder Reise oder für jede Reisekarte einen Namen, Daten, die möglicherweise beigetreten sind, und Sie können sehen, wer und wie viele Status Ich meine, ob die Reisen abgeschlossen, alle bezahlt sind oder noch im Gange sind, sagen wir, die Gesamtkosten Nun, das könnte optional sein. Auch hier ist nichts davon vorerst in Stein gemeißelt und die Kosten für den Benutzer. Dem Benutzer, der es von seinem Dashboard aus betrachtet, gehen die Kosten dieser Reise zu seinen Lasten. Dann wäre ein Link zum schnellen Kopieren schön, damit Sie nicht einmal in die Reise gehen müssen , wenn Sie schnell eine andere Person dazu einladen möchten . Das wird das Dashboard sein, wieder ganz einfach. Dann endlich die Reiseseite. Die Reiseseite wird alle Details zur Reise enthalten. Es werden der Name und die Daten wieder sein, möglicherweise optional. Alle Informationen von der Karte bis hierher, wo der Benutzer die Reise tatsächlich verlassen oder löschen kann, wo der Benutzer die Reise tatsächlich verlassen oder löschen kann falls er sie erstellt hat, er kann abrechnen und es gibt Ihnen eine einfache Aufschlüsselung darüber, wer wem schuldet, wie viel, ob öffentlich oder wenn ein Benutzer, der nicht authentifiziert oder eingeloggt ist, besucht, kann er eine Schaltfläche sehen, um der Reise beizutreten und dann werden sie Sie werden aufgefordert, sich zu registrieren und teilzunehmen. Das geht ganz einfach mit zwei Klicks Wenn der Nutzer eine Reise erstellt, muss er lediglich einen Namen hinzufügen, die Daten optional und dann einfach auf Link kopieren klicken, um sie zu teilen. Um eine Ausgabe hinzuzufügen, wird es einen einfachen Ablauf geben. Ich überlege noch einmal, auf derselben Seite möchte ich nicht einmal ein Pop-up oder eine andere Seite zeigen , aber sobald ich mit dem Entwerfen angefangen habe, werde ich das im Detail herausfinden. Dann haben wir den Namen der Ausgabe. Was war das für eine Ausgabe? Wie hoch war die Summe? Wer war beteiligt, und dann einige gespaltene Typen. War es gleichwertig? Waren es bestimmte Beträge oder Prozentsätze zwischen Menschen oder sogar potenziell, ich denke, das ist neu Ich habe das bei anderen Tools nicht gesehen, aber seit Tagen. Stellen Sie sich etwas wie Airbnb vor, wenn jemand 20 Tage im Vergleich zu 30 Tagen bleibt. Geben Sie einfach an, wie viele Tage oder wie viele Nächte jemand im Vergleich zu allen anderen geblieben ist, und auf diese Weise können Sie das einfach berechnen. Es ist nett, sie zu haben, aber wahrscheinlich werden wir sie zumindest für mich aus dem MVP heraushalten zumindest für mich Die Tags, die markiert werden, könnten Arten von Kategorien von Zäunen sein, waren es Essenskosten oder waren es B & B, Wohnen usw. Dann auch die Währungsauswahl. Wenn Sie mehrere Währungen haben möchten, wäre das auch nett, denn wie Sie sich vorstellen können, , wenn Sie mehrere Währungen in der App haben könnte es etwas komplizierter werden, wenn Sie mehrere Währungen in der App haben. Vorerst MVP, erste Version, die Benutzer kommen und beschweren sich später darüber Aber vorerst wollen wir nur so schnell wie möglich die erste Version herausbringen Es wird also nur eine Währung geben, egal welche Währung Sie kennen, in Ihrem Land oder dem Land des Benutzers verwenden , wir werden uns daran halten. Dann sind sie jetzt alle eingerichtet. Auch hier könnte sich all dies ändern und wird sich im eigentlichen Design- und Entwicklungsprozess ändern. Sie müssen sich noch kein glasklares Bild davon machen, wenn es um die Konstruktion oder Planung Wir haben uns einige Beispiele angesehen. Wir haben auf jeder Seite eine Liste mit dem zusammengestellt, was wir wollen. Super einfach. Abgesehen von der Authentifizierung, die hier zwei Seiten umfasst, ist alles andere nur ein Begrüßungsbildschirm und zwei weitere Bildschirme. Das ist es, was wirklich ein MVP ist. Sie könnten sogar noch einen Schritt weiter gehen und es weniger kosten, aber ich würde sagen, das wäre das am wenigsten rentable Produkt , das auch wertvoll ist. Wir wollen, dass es wertvoll ist. Wir wollen auch nicht, dass es zu MVP wird, wo es zu wenig kostet, denn denken Sie daran, dass wir für dieses Produkt Gebühren erheben dass wir für dieses Produkt und es nicht einfriert Wir wollen auch sicherstellen, dass es einen Mehrwert bietet und professionell und sauber aussieht Aber Sie benötigen nicht unbedingt Tausende von Funktionen, um den Benutzern Gebühren zu zahlen, eine einfache ist ausreichend. Ja, ich fange jetzt an, mit all diesen Bildschirmen zu designen . Komm zurück und erkläre meinen Designprozess und ich hoffe, du tust dasselbe. 8. Überprüfen von Designs: In Ordnung, ich bin damit fertig, meine erste Version zu entwerfen. Und nochmal, darauf bin ich nicht besonders stolz , denn das soll MVP sein Ich habe diese Designs in vielleicht weniger als, ich würde sagen, vier oder fünf Stunden zusammengestellt ich würde sagen, vier oder fünf Stunden Der Schlüssel hier ist Geschwindigkeit und das ist es, was Sie für Ihre erste Version wollen. Ähm, also nochmal, ich habe hier eine Authentifizierung. Viele dieser Komponenten, sehen Sie, habe ich aus der ShaTSN-Bibliothek auf Figma abgerufen Das findest du im Community-Bereich. Ich habe den Bestätigungsbildschirm von dort eingefügt, und dann ist das eine sehr einfache Seite, wie lautet Ihr Name Sieht ein bisschen schlicht aus, also werde ich es vielleicht im eigentlichen MVP ein bisschen besser machen Und dann haben wir die MitripsPage. Ich habe meine Reisen hier. Äh, Bali mit sieben Freunden, und so viel schuldet man dir Also bekommst du sofort eine Vorstellung von all deinen Reisen, wie viel dir geschuldet wird oder wie viel du Also in diesem Fall schuldet man mir etwas und füge hier diese nette kleine Note hinzu, genau wie, du weißt schon, einen Stempel, den man in einen Reisepass bekommt Solche kleinen gestalterischen Details sind immer noch, ähm, wichtig, würde ich sagen MVP heißt also nicht, dass du etwas Hässliches machen solltest. Ähm, weißt du, nicht benutzerfreundlich. Es bedeutet nur die einfachste Version , die Sie herausbringen können und die Sie nicht wochenlange Entwicklungszeit kostet. Hier finden Sie einen Link zum schnellen Kopieren, damit Benutzer die Reise schnell kopieren und an ihre Freunde senden können. Sie können eine neue Reise erstellen und wenn sie auf dieser Seite sind und noch keine Reisen haben, ihr Status etwas leer wie dieser. Auch hier habe ich diese Vorlage aus der Chat CN-Bibliothek abgerufen, einige Änderungen daran vorgenommen, und hier sind wir. Äh, dann die wichtigste Seite. Ich habe mit zwei Versionen angefangen. Zuerst habe ich mit dieser Version angefangen und angefangen, sie zusammenzustellen, und es war ein bisschen überall und es erinnerte mich an Split Wise. Hier kommt ChatGPT ins Spiel. Ich habe es eigentlich zuerst gefragt, wie kann ich meine App anders machen? , die ich aus gestalterischer Sicht Was sind die Dinge , die ich aus gestalterischer Sicht anders mache. Eines der Dinge, auf die es ankommt, ist, eine Geschichte zu erzählen und es einfach zu machen, genau zu verstehen, wo Sie mit Ihrer Balance stehen. Anstatt bei Transaktionen die Nase vorn zu haben, gehen wir davon aus, wie viel mir die Nutzer schulden, und sie können es leicht nachvollziehen. Ich habe ihm das erste Design gegeben und gesagt: Was hältst du davon? Das habe ich bisher. Auch hier wurde es bei mir wiederholt. Ich habe mir gesagt, haben Sie eine klarere Zusammenfassung für Benutzer. Als ich anfing, das Design immer mehr zu aktualisieren, schickte ich immer wieder Versionen und bekam einige Ideen. Natürlich habe ich das alles nicht umgesetzt , aber irgendwann hieß es, du bist gut genug, das Ganze als MVP auf den Markt zu bringen. Das war V One Ich habe das entworfen, um mir so etwas auszudenken. Jetzt hier auf der Reiseseite habe ich Freunde hierher eingeladen. Das ist der Haupt-CTA, alle Reisen sodass du zu allen Reisen zurückkehren kannst Hier unten findest du einige kurze Informationen, wer die Reise erstellt hat, wann und wie viele Personen daran beteiligt sind Ich denke, wenn du mit der Maus darüber fährst, kannst du vielleicht die tatsächliche Liste der Personen oder so etwas sehen der Personen oder so etwas Nochmals, diese kleinen Interaktionen, mit denen wir uns im eigentlichen Entwicklungsprozess befassen im eigentlichen Entwicklungsprozess Sie müssen sich mit Ihren Designs nicht sehr eingehend befassen. Dann haben Sie eine Liste Salden, z. B. wer Ihnen sofort wie viel schuldet, Sie wissen, wie viel Ihnen insgesamt geschuldet wird und wer Sie bezahlen muss Quick Mark hat bezahlt. Sie müssen sich nicht mit anderen Apps abfinden. Wir sehen hier die Reiseaktivitäten, dann kannst du alle Transaktionen einzeln aufgelistet sehen. Was waren die Transaktionen? Titel, wer hat ihn hinzugefügt und zwischen wem war er? Am wichtigsten, wie viel bekommst du zurück oder wie viel schuldest du, wenn du für etwas bezahlen musst Auch hier ist es super einfach, es fallen keine zusätzlichen Kosten an. Ich habe noch nicht an diesem Beitrag gearbeitet um zusätzliche Kosten hinzuzufügen. Das ist mein Design. Ich hoffe, du hast etwas Ähnliches für deine App gemacht. Auch hier gilt: Beschränken Sie sich auf eine minimale Anzahl von Bildschirmen, falls Sie diesen Prozess noch nicht gestartet diesen Prozess und nutzen Sie ChatGPT und andere KI-Tools haben, und nutzen Sie ChatGPT und andere KI-Tools, um Ihnen Feedback zu geben, aber verlassen Sie sich nicht vollständig darauf , denn auch hier ist es nicht perfekt, es ist kein Designer, manchmal sagt es Ihnen, was Sie hören möchten, oder es wird Ihnen zusätzliche Dinge sagen , die möglicherweise nicht relevant sind. Hier können auch Sie als Designer oder Ihre Designerseite herauskommen und sich hier mit KI ein wenig wehren oder herausfordern. Ähm, also ja, da haben wir es und Zeit, mit dem Bau zu beginnen. Bevor wir also zum eigentlichen Cursor springen und diese App erstellen, schauen wir uns an, welchen Stack wir tatsächlich verwenden werden. 9. Einen Stapel auswählen: Ordnung, kommen wir endlich zum spannenden Teil, Erstellung unserer ersten Version, unserer MVP-App Wir werden den Stack durchgehen, den wir verwenden werden oder den ich zumindest verwenden werde Wenn Sie mitmachen möchten, verwenden Sie denselben Stapel, tun Sie dies bitte auf jeden Fall. Wenn Sie bereits einen Stack haben, den Sie bevorzugen, bezieht sich „ Do the same stack“ im Wesentlichen auf alle Tools und das, was Sie verwenden um Ihre Anwendung zu programmieren oder zum Leben zu erwecken. Im Moment entwerfen wir nur Figma, es ist eine Anwendung, mit der wir unsere Bildschirme entwerfen können Aber um dieses Design tatsächlich in eine wirklich funktionale Webanwendung umzuwandeln eine wirklich funktionale Webanwendung und sie live zu stellen, damit die Leute sie benutzen, bezahlen, E-Mails erhalten können usw., müssen wir einen Stack verwenden damit im Grunde alles funktioniert, sowohl in Bezug auf das Frontend, das der Designteil ist, als auch auf das Backend, das ist der gesamte Serverteil der alle Informationen und Daten verarbeitet. Also ganz schnell, lassen Sie uns durchgehen, was ich verwenden werde , und dann entscheiden Sie selbst, ob Sie dem folgen oder einen anderen Hirsch verwenden möchten. Die wichtigsten Tools, die ich verwenden werde, um dieses Projekt zu programmieren, werden Cursor sein, das KI-Codierungstool. Es hat einen eingebauten KI-Agenten, mit dem Sie chatten können, und natürlich Modelle wie Cloud und GPT verwendet Ähm, und andere, um die Idee zum Leben zu erwecken. Dann haben wir das Code-Repository auf Github. Hier wird der Code gespeichert. Jedes Mal, wenn Sie den Code aktualisieren, wird er irgendwann auch den Benutzern zur Verfügung gestellt. Wir werden gleich besprechen , wie das funktioniert. Für den Stack wird die eigentliche Web-App mit NexGS erstellt, was es uns ermöglicht sowohl Frontend- als auch Back-End-Anwendungen und APIs zu erstellen , und dann für die Datenbank, wie wir die Daten speichern oder wo wir die Daten speichern werden, erfolgt dies über Mongo DEB, was sehr einfach einzurichten ist. Dort werde ich meine Benutzer- und Reisedaten speichern Next ATJS ermöglicht es uns im Wesentlichen , Benutzer zu authentifizieren, sodass sie sich einfach anmelden einige einfache Anmeldeoptionen wie Anmeldung bei Google, E-Mail Versal ist das, was wir verwenden werden, um unseren Code bereitzustellen. Sobald unser Code auf GitHub bereitgestellt ist, wird er auf Versal gespeichert, wo im Wesentlichen die Anwendung und das Backend gehostet Von dort aus können wir sogar Dinge wie Analysen und Protokolle und ähnliches sehen Analysen und Protokolle und ähnliches Stripe wird das Zahlungsunternehmen sein, das uns bei der Abwicklung von Zahlungen für diese App unterstützt. Auch hier werden wir entscheiden, wie wir den Preis für unsere App festlegen, aber sobald wir das getan haben, ist Stripe das Tool, mit dem wir diese Zahlungen abwickeln werden. Resend ist ein Tool zum Versenden von E-Mails. Sowohl für Benachrichtigungen als auch für Anmelde-E-Mails werden wir Resend verwenden, um sie zu versenden. So ziemlich alles ist zunächst kostenlos Sie haben natürlich alle kostenpflichtige Tarife, und Dinge wie Stripe, Stripe berechnet nur den Prozentsatz der Transaktionen, sodass Sie sich keine Gedanken über andere Zahlungen von ihnen machen müssen keine Gedanken über andere Zahlungen von ihnen Nochmals, alle anderen, entweder ist es kostenlos oder kostenlos. Dies sind einige optionale. AW steht für Speicher. Wenn Sie Benutzerbilder oder Uploads von Belegen speichern möchten, werde ich das in meinem Fall mit AWS tun Nochmals, für MVP, ich lasse das wahrscheinlich weg. Google Analytics eignet sich gut, um Besucher - und Benutzerdaten im Auge zu behalten Ein weiteres gutes Analysetool ist PostHG, mit dem Sie sogar mehr Informationen wie Heatmaps abrufen können und wie Nutzer interagieren und was sie sich ansehen , wenn sie mit Ihrer App interagieren Sehr gut zum Debuggen und für solche Dinge , um herauszufinden, wo Probleme liegen Also auf jeden Fall ein guter und nützlicher. Aber auch hier ersetzt die optionale Super-Base-Zensur off und die Datenbank, sodass Sie Next JS und Mongo DB nicht benötigen Wenn Sie Super Base verwenden und ich glaube, sogar für einige E-Mails E-Mails anmelden, Sie es wahrscheinlich auch nicht benötigen Ich werde ein paar Sachen ersetzen. Aber auch hier habe ich es nicht wirklich benutzt, weil ich nicht wirklich so viel Bedarf sehe, wir haben schon einen Stack, finde es heraus. Wenn du gerade lernst und es ausprobieren willst, ist das auch keine schlechte Option, soweit ich weiß. Das ist der Stack, den wir verwenden werden. Wir fangen jetzt an, indem wir in den Cursor springen. Vorher werden wir unser Projekt im nächsten Video tatsächlich einrichten und dann zurückkehren, um daran zu arbeiten. 10. Einrichtung unseres Projekts: Ordnung. Bevor Sie beginnen, möchten Sie NoJS installieren Gehen Sie zu nojs.org und klicken Sie auf Genjs. Sie benötigen dies, um tatsächlich eine neue App mit dem von uns besprochenen Stack erstellen zu können eine neue App mit dem von uns besprochenen Stack Auch hier gilt: Wenn du diesem Stack nicht folgen willst und du bereits deinen eigenen hast oder du schon kein JS herausgefunden hast, musst du dem natürlich nicht folgen. Dies ist der Fall, wenn Sie dies gerade zum ersten Mal tun und noch nie eine NoJS-App erstellt Sobald Sie fertig sind, möchten Sie das Terminal öffnen. also von Ihrem Computer oder Ihrem Anwendungsordner Suchen Sie also von Ihrem Computer oder Ihrem Anwendungsordner aus nach der App Terminal. Es sieht ungefähr so aus, und dann können Sie tatsächlich einen Ordner auf Ihrem Desktop oder wo auch immer Sie bereits Code oder andere Projekte für sich behalten , erstellen. Wenn Sie einen Ordner haben, navigieren Sie am besten zu diesem Ordner. Ich habe bereits einen Ordner namens Code. Ich werde einfach CD-Code wie diesen machen. Da haben wir's. Ich bin im Code-Ordner. Wenn Sie einen Ordner für sich selbst haben, tun Sie das natürlich dort. Das musst du nicht. Das ist einfach mehr für die Organisation. Dann willst du NPX schreiben, Next App erstellen, drückst die Eingabetaste und es wird dich fragen, wie das Projekt heißt Im Moment rufe ich diese Trips-App auf und drücke dort die Eingabetaste Ich werde die Einstellungen tatsächlich anpassen, also werde ich meine eigenen Einstellungen wählen, gehen Sie einfach hier runter. Ich werde TypeScript nicht verwenden, ich werde Yes Int verwenden, diesem auf Nein klicken, bei jenem auf Ja Den Rest werde ich standardmäßig beibehalten. Ja, nein. Da haben wir's jetzt, es wird installiert. Nochmals, so richte ich Projekte ein, Sie müssen dem nicht folgen, aber so würde ich es machen. Es läuft gerade und erstellt dieses Projekt. Jetzt habe ich in diesem Ordner diese Reisekosten-App und sie hat alle Dateien erstellt. Was ich jetzt tun möchte, ist diesen Ordner tatsächlich in Cursor zu öffnen . Ich habe Cursor bereits installiert. Wenn Sie es nicht installiert haben, machen Sie weiter und tun Sie das. Sobald ich den Cursor öffne, sehe ich, dass ich diese Schnittstelle hier bekomme. Ich habe gerne die Seitenleiste hier drüben, die primäre Seitenleiste. Sie können auch Befehl B ausführen und jetzt können Sie alle Ordner hier sehen , was perfekt ist. Sie können sogar weitermachen und dieses Projekt ausführen. Ich öffne ein neues Terminal indem ich in der Statusleiste oder in der Menüleiste auf Terminal und dann Statusleiste oder in der Menüleiste auf Neues Terminal klicke. Wenn Sie hier NPM run Dev So ausführen, wird das Projekt tatsächlich ausgeführt und es wird in einem neuen Browser geöffnet So wie das. Wenn Sie das haben, bedeutet das, dass Sie eine No-JS-App erstellt haben und sie einwandfrei funktioniert. Dies wird als Grundlage für den Code oder das Projekt dienen , das wir verwenden werden Lassen Sie uns in der nächsten Vorlesung darauf zurückkommen, um dies auf GitHub oder das Code-Repository zu übertragen dies auf GitHub oder das Code-Repository zu 11. Verwenden von Git: Ordnung. Wir wollen unseren Code , den wir gerade erstellt haben, obwohl er momentan eine Basis ist, auf Git Hub ablegen obwohl er momentan eine Basis ist , sodass der Code dort gespeichert wird. Auf diese Weise können wir unseren Code, wenn wir ihn aktualisieren , dorthin übertragen, sodass er mit allen Änderungen gespeichert wird. Später, wenn wir den Versal verbinden, der, Sie sich erinnern, die Hosting-Plattform ist, nimmt er automatisch den neuesten Code von GitHub und stellt ihn für Benutzer oder online auf Ihrer Domain bereit Benutzer oder online auf , sodass Benutzer Ihr Produkt problemlos verwenden können Ähm, es ist super einfach, Git über Inside of Cursor einzurichten Git über Inside of Cursor Natürlich können Sie das über github.com tun und dort anmelden. Erstellen Sie also ein Konto, falls Sie noch keines haben Aber wenn du hier drüben einfach auf den Tab Git im Wesentlichen gehst , kannst du deinen ersten, du weißt schon, Commit erstellen Ich werde einfach ein erstes Commit wie diesem machen und diesen Branch veröffentlichen. Jetzt, gerade jetzt, sagt es mir, willst du das zu einem öffentlichen Repository machen? Das heißt, jeder auf GitHub kann meinen oder einen privaten Code sehen ? den meisten Fällen möchtest du ein privates Repository erstellen es sei denn, du machst ein Open-Source-Projekt. Aber andernfalls wählst du privat und es wird sofort dort veröffentlicht. Dann kannst du es sogar auf GitHub öffnen. Wenn du auf GitHub auf Öffnen klickst, wird in meinem GitHub-Konto diese Reisekosten-App als privates Repository mit dem gesamten Code hier erstellt diese Reisekosten-App als . Äh, und wenn du jetzt, nur als Beispiel, irgendwelche Änderungen am Code vornimmst, gehe ich zu Page Dot JS, das ist, du weißt schon, der Startbildschirm, den wir gesehen haben. Zuallererst werde ich sicherstellen , dass die App läuft. Also dieser Startbildschirm, sagen wir, ich möchte nur den Text hier aktualisieren, um loszulegen, ähm, du weißt schon, und das in Reisekosten ändern. Er klickt auf Automatisch speichern, das aktualisiert das übrigens. Jetzt haben wir das. Dann können wir sehen, ob du zum Git-Tab gehst , wir können sehen, dass es Änderungen im Seitenpunkt JS gibt, und wir können sehen, ob du genau darauf klickst, was sich geändert hat, diese Zeile ändert sich zu dieser, was richtig ist, und dann können wir diesen Commit-Text tatsächlich ändern. Also klicken wir auf Commit und synchronisieren dann diese Änderungen. Diese Änderung ist jetzt auch auf GitHub verfügbar . Wenn du Wenn ich dieses Git Hub-Repo öffne wieder auf „ Wenn ich dieses Git Hub-Repo öffne“ gehst, kannst du sehen, dass gerade ein Commit stattgefunden hat und ich kann alle Commits hier sehen Das macht es einfach, den Überblick über alle Änderungen zu behalten , die Sie im Laufe der Zeit an Ihrem Code vorgenommen haben . Falls Sie irgendwo einen Fehler gemacht haben, können Sie jederzeit zu einem dieser Commits zurückkehren Aus diesem Grund verwenden wir Git während des gesamten Projekts, während ich es Sie werden sehen, dass ich es zwischen jeder Funktion, Implementierung oder jedem Bildschirm mehrmals verwende jeder Funktion, Implementierung oder , damit ich den Fortschritt verfolgen kann, falls es erneut Probleme gibt Ich kann zum vorherigen Commit zurückkehren oder zurückkehren. 12. Auswählen des Cursormodells: Ich wollte kurz auf die Unterschiede zwischen den verschiedenen Modellen und Agentenmodi eingehen und darauf, wie ich sie verwende. die Modi angeht, gibt es den Agentenmodus , den wir verwendet haben, um Aufgaben zu übertragen, die Cursor für uns erledigen muss. Aber wir haben auch den Planmodus. Bevor der Agent tatsächlich Maßnahmen zur Änderung des Codes ergreift, bitten wir Sie, die Dinge zu planen und uns mitzuteilen, was er tun wird und wie er etwas implementieren würde, damit wir ein Dokument überprüfen können, bevor es tatsächlich implementiert wird. Es gibt auch einen Debug-Modus, dem Sie gezielt Fehler beheben können, und auch Fragen-Modus, wenn Sie nur Fragen zu Ihrem Code oder der aktuellen Funktionsweise Ihrer App stellen möchten . den Modellen kannst du sogar Auto ausschalten, wenn du nicht möchtest, und du kannst Max-Modus einschalten, wenn du die maximale Anzahl an Tokens haben möchtest, die für diese Aufgabe verwendet werden Composer ist ein Cursor-eigenes Modell, das ziemlich gut funktioniert. Ich habe das oft versucht. Ops ist auch großartig, einschließlich Sont. Normalerweise arbeite ich nicht mit den GPT-Modellen, aber sie sind auch hier erhältlich. Mein persönlicher Favorit ist auch Sonnet oder Ops Composer. Denken Sie jedoch daran, dass dies nicht erforderlich ist, es sei denn, Sie stellen eine komplexere oder kompliziertere Aufgabe , mit der der Automde normalerweise zu kämpfen hätte Sobald Sie Cursor eine etwas kompliziertere oder kompliziertere Aufgabe stellen müssen , würde ich diese Modelle verwenden, wobei ich bedenke, dass es natürlich mehr Tokens und Credits kostet, sie zu benutzen 13. Startseite hinzufügen: Natürlich gibt es mehrere Dinge, die Sie von hier aus tun können. Richten Sie entweder die API-Routen für das Backend ein, Sie können die Datenbank erstellen und MongoDB einrichten Sie können die Benutzeroberfläche und die Designs einrichten. Was ich persönlich gerne mache, ist, zuerst die Designs einzurichten und dann auf die Funktionalität der App einzugehen. Einer der größten Fehler, den ich beim Vibe-Codieren sehe , ist, der App alles auf einmal zu geben der App alles auf einmal zu Sobald Sie das getan haben, verlieren Sie technisch gesehen die Kontrolle über alles und müssen dann zurückgehen und der App sagen, dass sie überall Änderungen vornehmen soll Aber wenn Sie den gesamten Vibe-Coding-Aspekt kontrollieren, dem Sie nur eine Aufgabe geben, bei dem Sie nur eine Aufgabe geben, eine Sache nach der anderen, können wir das nicht nur kontrollieren und einschränken, weil wir auf jeder Seite sehen können , was es tut, sondern es ist auch besser, weil es besser organisiert ist und die Wahrscheinlichkeit, dass Fehler auftreten, geringer ist. Obwohl ich mir ziemlich sicher bin, dass es immer noch Fehler geben wird, oh, ich werde mit der Benutzeroberfläche beginnen. Ich fange mit der Homepage an. Hier, zurück in den Designs, haben wir die Authentifizierungsseiten, und ich bin mir sicher, dass Sie auch Authentifizierungsseiten für sich selbst benötigen. Aber meine Hauptseite ist eine Dashboard-Seite, und wenn Sie eine Dashboard-Seite oder Homepage wie diese haben, können Sie immer mit dieser beginnen , und genau dazu ermutige ich Sie. Ähm, und wir werden den sogenannten Figma-MCP-Server verwenden , der im Wesentlichen eine Verbindung zwischen Figma und Cursor herstellt , um das tun zu können oder das einfach zu tun, sodass wir einen Link von Figma kopieren, in Cursor einfügen können, und wir nehmen tatsächlich alle Eigenschaften vom Bildschirm, nicht nur Screenshots, und implementieren ein sehr nahes und wir nehmen tatsächlich alle Eigenschaften vom Bildschirm, nicht nur Screenshots, , saubere Version dieses Designs oder der Benutzeroberfläche Äh, um das zu tun, brauchst du Figma Pro, du brauchst das Konto auf professioneller Ebene und dann wirst du hier in den Dev-Modus wechseln. Hier drüben können Sie das MCP auf diesem Panel sehen. Wenn Sie es nicht sehen, ist MCP möglicherweise deaktiviert. Wenn MCP deaktiviert ist, wird dieser aktivierte Desktop-MCP-Server angezeigt . Du wirst darauf treffen Dann aktivierst du MCP für diese URL und kopierst sie Sobald Sie das wieder in Cursor kopiert andere Tools verwenden, haben diese für die meisten auch MCP Recherchieren Sie ein wenig über Ihr Tool und wie Sie MCP einrichten Für Cursor gehen Sie zu Einstellungen, Sie gehen zu Tools und MCP und dann klicken Sie auf einen neuen MCP-Server, und dann ersetzen Sie diese URL durch die URL , die Sie von FICMA erhalten haben Ich habe es bereits eingerichtet, also werde ich das nicht tun, aber stellen Sie sicher, dass Sie danach auf Speichern klicken Wenn Sie es dann richtig gemacht haben, sollten Sie FICMA die Anzahl der aktivierten Tools sehen FICMA die Anzahl der und es ist hier aktiviert. Stellen Sie das sicher, bevor Sie fortfahren. Auf diese Weise können Sie einfach auf die gewünschte Seite klicken. Ich möchte die Dashboard-Seite. Kopieren Sie diese Aufforderung hierher, obwohl wir einige Änderungen daran vornehmen und sie dann wieder in den neuen Chat hier in Cursor bringen werden. Fügen Sie es ein. Ich werde dafür nur ein Automodell verwenden. Aber natürlich gibt es auch andere Modelle , die Sie verwenden können, und wir werden ein wenig über die Modelle und deren Auswahl sprechen später ein wenig über die Modelle und deren Auswahl sprechen. Aber vorerst sollte ein Automode ausreichen. Wir werden darunter ein paar Notizen schreiben. Wir werden sicherstellen, aus jeder Karte eine Komponente wird. Und stellen Sie sicher, dass Navbar in eine Komponente umgewandelt wird. Was ich Cursor anweise, ist, die Navbar und diese Karten zu nehmen und sie zu Komponenten zu machen , damit wir später leicht Änderungen daran vornehmen können und unser Code sauberer ist Wir werden das einfach tun, drücken Sie die Eingabetaste. Ich werde damit anfangen. Nun, wenn Sie MTP richtig laufen lassen, sollten Sie innerhalb einer Minute sehen, wie es Sie nach einigen Berechtigungen fragt . Da hast du's. Da siehst du, es läuft Get Design Context Figma. Sie können die Screenshots sehen. Auch hier werden Sie möglicherweise nach einigen Berechtigungen gefragt , wenn Sie dies noch nicht ausgeführt haben. Wir geben dem eine Minute. In der Zwischenzeit gehe ich zurück zur Homepage und schaue nach, welche Änderungen dort vorgenommen werden, oder am eigentlichen Dateibrowser, sollte ich sagen. Jetzt wird mit der Erstellung der einzelnen Komponenten begonnen Es erstellt eine NAVR-Komponente, Tripcard-Komponente und aktualisiert die Seite mit NAVR und der Verwendung von Reisekarten Auch hier konzentrieren wir uns zunächst auf das Design gehen dann auf die eigentliche Feature-Implementierung, Datenbank und Funktionalität der eigentlichen Reiseerstellung und Es ist alles erledigt. Es gab uns eine Zusammenfassung von allem, was es mit diesen Komponenten gemacht hat und es hat die Seite aktualisiert, dass JS. Wir behalten alle Änderungen bei und kehren zu unserem Browser zurück, auf dem diese App ausgeführt wird. Da haben wir es. Das ist das Design, es wurde von Figma kopiert. Das ist ziemlich anständig Offensichtlich hat es Probleme wie diese Icons, die zu weit gedehnt sind, aber es kommt dem, was wir uns irgendwann wünschen, sehr nahe. Ich werde noch eine Sache machen und ich werde ChadSN installieren lassen , um in Zukunft Komponenten von dort zu verwenden in Zukunft Komponenten von dort Da ich die ShaTSN-Bibliothek verwende, möchte ich sicherstellen, dass sie Zugriff auf die Shad CN-Komponenten hat die Es sollte weitermachen und das installieren und es wird nach der Shad CNUI suchen und sie installieren und hoffentlich einige Aktualisierungen vornehmen, sodass diese Schaltflächen tatsächlich von Shad CN stammen und nicht von benutzerdefinierten codierten Ich lasse es das machen. Du kannst das Gleiche tun, und dann kommen wir in der nächsten Vorlesung zurück, um das aufzupolieren und zu unserer Reiseseite überzugehen. 14. Designverbesserungen: Ich habe hier ein paar Dinge getan, um das Design ein bisschen besser zu machen das Design ein bisschen besser Ich zeige es dir einfach hier. Ich habe die Probleme mit der Ellipse und dem Text darin behoben , der nicht da war, und diesem SVG, das für das Flugzeug gestreckt wurde Um das zu tun, habe ich ein paar Eingabeaufforderungen geschrieben. Ich werde sie ganz schnell durchgehen, denn auch hier möchte ich nicht zu viel Wert auf die Bauphase oder diesen Teil des Gebäudes legen , sondern einfach schnell sagen, welche Art von sondern einfach schnell sagen Eingabeaufforderungen ich der KI gegeben habe Ich habe dafür gesorgt, dass die Textellipse dadurch größer wird. Aber lassen Sie mich vorher mit dem beginnen, was ich ursprünglich getan Ich habe es zunächst zwei Korrekturen vorgenommen. Ich sagte: Stellen Sie sicher, dass sich um die Ellipse im Inneren eine Textebene befindet, und wiederholen Sie die Städtenamen genau wie im Figma-Design Sie möchten auf das Figma-Design zurückgreifen, das Sie ihm gegeben haben, und das schlichte Logo ist gequetscht. Können Sie sicherstellen, dass das Seitenverhältnis erhalten bleibt ? Das hat keinen guten Job gemacht. Dann habe ich Figma durchgesehen, diese einfache Ebene ausgewählt und sie dann als SVG exportiert Als SBG hier. Sobald Sie das exportiert haben, stellen Sie sicher, dass Sie es in den öffentlichen Ordner einfügen Wenn Sie in Ihre Ordner gehen , in denen sich Ihre Datei oder Ihr Projekt befindet , stellen Sie sicher, dass Sie jedes beliebige Symbol in diesen öffentlichen Ordner einfügen , da die Symbole dort gespeichert werden sollten. Sie können hier sogar Ordner erstellen , und das ist eine bewährte Methode. Wenn Sie einen Ordner mit Symbolen erstellen und dann alle Ihre Symbole dort speichern möchten. Ich werde es einfach halten und einfach alles hineinlegen. Also habe ich einen anständigen Job gemacht. Der Text war etwas zu klein im Vergleich zu der Ellipse, die bereits da war , dem Kreis Ich habe darauf geachtet, dass es die richtige Größe hat. Ich habe es nur gebeten, es so zu gestalten , dass es dem gleichen Weg folgt. Einer war eher rund als oval, also habe ich dafür gesorgt, dass zusammenpasst, und er hat das hervorragend hinbekommen und ich habe ihm gesagt, dass er das SPG für das Flugzeug verwendet Ähm, und nochmal, ein paar kleine Änderungen machen die Texte ein bisschen größer Wenn Sie also irgendwelche Anpassungen vornehmen müssen, sagen Sie es einfach etwas kleiner oder größer, drehen Sie das Flugzeug SPG, weil es in die falsche Richtung gerichtet war Stellen Sie also sicher, dass Sie es um 90 Grad drehen usw. Auch hier war der Datumsstempel aus. Also du kannst in den Designs hier sehen, es sieht ziemlich gut aus. Aber anfangs in der App war das nicht der Fall. Aber dann habe ich es gebeten, dafür zu sorgen, dass es in der Mitte steht. Jetzt sieht es also ziemlich gut aus. Nochmals, einige Mikroanpassungen, den Text nach unten bringen, eins oder fünf versuchen , einige Änderungen vornehmen. Du hast mir gesagt, das ist der Abstand von 110 Pixeln statt 100, ich sagte, versuche es mit eins oder fünf, weil das zu viel war Geben Sie konkrete Zahlen an, wenn Sie können. Als Nächstes werden wir zurückkommen und an der Reiseseite arbeiten. 15. Seite Reisen: Bevor ich fortfahre, werde ich sicherstellen, dass ich aktualisiertes Design für die Reisekarte schreibe und diese Änderung festschreibe. Auch hier gilt: Zwischen den Änderungen, die Sie vornehmen, möchten Sie ab und zu zu Github , damit Sie den Überblick über alles und alle Änderungen behalten können , die Sie vorgenommen haben. Nur für den Fall, dass Sie ein Rollback durchführen müssen, ist es auch viel einfacher. Auf unsere nächste Seite, die für mich die Reiseseite ist, glaube ich, diese hier. Dies ist die aktualisierte. Ich werde in den Dev-Modus wechseln , den MCP-Link kopieren und minimieren hier sicher, dass alles, was Sie auswählen, an Figma geht Stellen Sie sicher, dass Cursor. Stellen Sie sicher, dass Sie in Figma den gesamten Rahmen auswählen also sicher, dass Sie zwischen Ihren Änderungen, die Sie vornehmen , hier einen neuen Chat in Ihrem KI-Chat-Bereich erstellen , sodass er nicht zu viel Guthaben verbraucht oder dass Sie einen Chat nicht zu lang machen, was sowohl für die Änderungen als auch für die Kreditbasis ineffizient sein könnte Änderungen als auch für die Kreditbasis Sie möchten sicherstellen, dass Sie einen neuen Chat erstellen, auf Command oder Control unter Windows drücken, und dann füge ich den Link von Figma für diese Reiseseite und gebe ihm einige Informationen. Ich sage, füge eine neue Reiseseite hinzu. Basierend auf den folgenden Designs navigiert der Benutzer zu dieser Seite, indem er auf der Startseite auf die Reisekarte Lassen Sie mich noch einmal einen Blick auf die Designs werfen und sehen, ob es noch etwas anderes gibt Auch hier werde ich es so einrichten, dass sowohl Karten in Komponenten als auch Spesenkarten in Komponenten umgewandelt werden. Der Rest sieht gut aus. Eine weitere Sache, die ich tun möchte, ist sicherzustellen , dass es heruntergeladen wird, damit die Symbole heruntergeladen werden. Manchmal funktioniert das jedoch nicht, wir müssen die Symbole und Bilder möglicherweise manuell in unser Projekt exportieren die Symbole und Bilder möglicherweise manuell in unser Projekt Aber lassen Sie uns auf den ersten Blick sehen, wie das funktioniert. Ich mache eine Pause und komme zurück, wenn es fertig ist. Ordnung. Alles ist erledigt und ich erhalte eine Zusammenfassung von allem, was es getan hat, einschließlich der Ausgabenkarte für die Kontoausgabenkomponente und der Reiseseite sowie der Routen. Die Routen sind die Art und Weise, wie die Leute in Ihrer NextGS-App navigieren , und so hat sie das alles erledigt Jetzt können wir es versuchen und haben sogar den Link hier erstellt. Trips Slug ist im Grunde die ID für diese Reise. Es schafft sogar einen Teil der Grundlage für unser späteres Backend, was unglaublich ist Bisher hatten wir noch kein Backend oder keine Serverintegration. Aber wir werden es bald tun und das wird sehr hilfreich sein. Dabei wurde das Design für die Reisekarten ein wenig durcheinander gebracht Design für die Reisekarten Wir werden das in nur einer Sekunde beheben. Aber mal sehen, ob wir auf einen klicken. Wir haben einen Fehler. Das kommt sehr häufig vor, wenn Sie mit KI arbeiten. Wenn Sie einen Fehler wie diesen erhalten, kopieren Sie einfach die Fehlerinformationen hierher geben Sie sie zurück an Ihren Codierungsagenten. Lassen Sie ihn sich diesen Fehler ansehen und beheben Sie ihn. den meisten Fällen ist es entweder ein logischer Fehler oder es wurde vergessen, eine Variable oder etwas Ähnliches zu definieren, wo sie normalerweise klein ist und sofort behoben wird. Gib ihm etwas Zeit. Und währenddessen können wir hier hin und da gehen wir hin. Es ist repariert und sieht toll aus, um ehrlich zu sein. Es ist auf Anhieb, es ist so nah wie möglich an den Figma-Designs Auch das ist das Schöne an MCP. hätte ich dafür mindestens ein Vorher hätte ich dafür mindestens ein paar Tage Aber jetzt haben wir das alles. Natürlich hat es nichts getan, was Sie ihm nicht gesagt haben, dass das Hinzufügen von Kosten noch nicht funktioniert. Alle Reisen funktionieren, geht zurück zu allen Reisen. Freunde einladen macht noch nichts, genau wie diese drei Punkte hier. Und du kannst sehen, dass es zwei verschiedene Versionen erstellt hat. Es gibt diese Version hier für Tokio. Aber wenn ich zurückgehe, gibt es auch diese Version für Bali, sie sehen anders aus. Das sind noch keine Knöpfe, also müssen wir natürlich einige Dinge reparieren. Ich werde mir diese Dinge notieren und Sie sollten es auch tun. Notieren Sie sich beim Zusammenstellen der einzelnen Seiten, was falsch ist. Ich werde mir notieren, dass der Button hier repariert werden muss Notieren Sie sich die zusätzlichen Kosten, aber auch für diese werde ich eine neue Aufforderung dafür erstellen eine neue Aufforderung dafür Ähm, der Rest sieht okay aus, aber natürlich gibt es Probleme wie diese Ausrichtungsprobleme. Sie sehen, dieser hier ist auf Align. Kleine Dinge wie diese, notieren Sie das und geben Sie es an die KI zurück. Hier hinter dem Pfeil gibt es keinen Gradienten , wie ich ihn in meinen Entwürfen habe. Es sind wirklich kleine subtile Dinge. Ich werde diese Korrekturen vornehmen, weil sie kleiner sind, und dann zurückkommen und mit dem Rest weitermachen, was zusätzliche Kosten verursachen wird. Dann werde ich auch daran arbeiten, eine neue Reise zu erstellen. Das sind zwei Dinge, an denen ich als Nächstes arbeiten werde. Ähm, und nochmal, für deine App, folge mir. Aber wenn du genau das Gleiche machst, weißt du, du kannst genau mitmachen. 16. Weiterleitung zum Dashboard: Ordnung. Mein Cursor nimmt jetzt kleine Änderungen vor, wie den Gradienten hier drüben, von dem ich gesprochen habe. Nun, eine Sache, die ich sagen möchte ist eine kleine Änderung, die ich vornehmen möchte , und sicherstellen möchte, dass Sie in Ihrem Projekt das Projekt in Ihrem App-Ordner vornehmen , dass Sie in Ihrem Projekt das Projekt in Ihrem App-Ordner Ihr Seitenpunkt JS ist zunächst die ursprüngliche Seite, die angezeigt wird. In unserem Fall ist es im Moment also nur ein lokaler Host, 3.000. Es gibt keine Seite mit Schrägstrich, Summe. Wenn du hier drüben bist, hiplah Bali, dann schaust du dir im Grunde in diesem App-Ordner die Reiseseite an in diesem App-Ordner die Dort hast du diese Reise-ID. Wir möchten unsere Seite jetzt auch hierher verschieben , diese hier her. Wenn Sie eine Dashboard-Seite wie diese haben, die ich habe, möchten Sie nicht, dass das Ihr Seitenpunkt-JS ist , weil das eigentlich für Ihre Landingpage gedacht ist. Wenn Leute auf Ihrer Website landen, der Marketing-Seite, der ersten Seite, die angezeigt wird, zum Beispiel hier für die aktuelle Version von QClip ist es diese Seite, dann habe ich eine Dashboard-Seite Das Slash-Dashboard ist eigentlich die Dashboard-Seite. Eine kleine Änderung, ich werde sie haben und ich werde das in einem neuen Chat machen Stellen Sie sicher, dass die aktuelle Seite JS zu einer Dashboard-Seite wird. Und ändern Sie den Seitenpunkt JS , dass er nur einen Platzhaltertext für unsere Landingpage enthält Wir wollen jetzt nicht, dass daraus eine Landingpage wird. Das werden wir gleich machen. Aber vorerst möchte ich nur sicherstellen, dass diese Seite zu einer Dashboard-Seite wird , damit später keine Verwirrung entsteht. Stellen Sie sicher, dass Sie auch so etwas tun, wenn Sie nicht getan haben, da es eine Änderung bewirkt, wenn wir hierher zurückkehren, die Landingpage bald kommt und wenn Sie dann zum Slash-Dashboard gehen, los geht's Wir haben hier eine Dashboard-Seite. Der Einfachheit halber würde ich sagen, füge eine Schaltfläche auf der Landingpage hinzu, die mich zum Dashboard führt. So landen wir jedes Mal, wenn wir das Projekt starten , standardmäßig auf der Landingpage, die sich gerade hier befindet. Wir wollen nur einen Button haben. Auch dies ist vorübergehend, nur damit wir schnell zu dieser Seite gelangen können. Deshalb werde ich weiterhin kleine Änderungen vornehmen , hauptsächlich am Design und an der Funktionalität wie diese hier für die Designseite. Sobald die Dinge fertig sind, werden wir weitermachen oder ich werde mit dem Hinzufügen von Ausgaben und dem Hinzufügen eines Reiseplans fortfahren . Eine weitere Sache, die ich tun werde , ist, ähm, du weißt schon, die Links für alle Buttons, die zuvor mit Page JS verknüpft waren, so zu ändern, dass sie zu Porta JS auf der Trips-Seite führen. Ich möchte nur sichergehen, dass auch dieser Link hier geändert wird. Alle Reisen sollten zurück zum Dashboard und nicht zur Startseite oder erneut zur Landingpage gehen. Stellen Sie sicher, dass Sie diese Änderung vornehmen. Nur etwas Subtiles zu beachten. 17. Ausgaben hinzufügen: Ordnung, die Dinge beginnen gut und viel sauberer auszusehen , also werde ich weitermachen und die Änderungen übernehmen. Seite „Karten ändern und Reisen hinzufügen“. Ich werde diese Änderungen jetzt synchronisieren und gehe zurück Ich möchte meinen Ablauf zum Hinzufügen von Ausgaben hinzufügen. Ich habe es hier schon entworfen, weil ich mir gedacht habe, warum es nicht einfacher ist, es an Cursor zu übergeben. Hier doppelklicke ich, um diese Karte auszuwählen, die im Grunde genommen zusätzliche Kosten verursacht, und gehe diese Karte auszuwählen, die im Grunde genommen zusätzliche Kosten verursacht, und dann zu MCP, um den Link oder den Dev-Modus wieder hier in Cursor zu kopieren den Link oder den Dev-Modus wieder hier in Cursor Ich werde einen neuen Chat erstellen, diesen einfügen und sagen, füge eine Karte hinzu, damit Benutzer Ausgaben hinzufügen können, sobald sie auf Ausgaben hinzufügen klicken Aber auf der Reiseseite solltest du so spezifisch sein und ein Beispiel geben, wo es sich befindet, obwohl wir es wahrscheinlich auch herausfinden werden, aber das macht es ein bisschen einfacher. Stellen Sie sicher, dass dieser Blog eingeblendet ist. Wenn der Benutzer auf Abbrechen klickt, schließen Sie ihn. Wenn in den Eingabefeldern Änderungen vorgenommen oder Zahlen hinzugefügt wurden, zeigen Sie zuerst eine Warnung an brechen Sie sie dann ab oder schließen Sie sie. In Ordnung. habe dort einige Anweisungen gegeben und die wichtigste war, wenn der Benutzer klickt, um diese Ausgabe zu stornieren, stellen Sie sicher, dass er tatsächlich dazu aufgefordert wird, das tatsächlich schließen möchte oder nicht? Auf diese Weise verlieren sie keine Daten. Nur ein sehr kurzer Überblick. Hier habe ich ein Betragsfeld, also gibt der Benutzer den Betrag Es sagt ihnen, wofür es war. Hier taucht die Kategorie hier auf. Oder der Name der Ausgabe. Dann teilt es sich so Normalerweise ist es standardmäßig gleich aufgeteilt, also für alle gleich Aber wenn sie wollen, können sie tatsächlich reingehen und die Zahlen ändern und sie werden dynamisch aktualisiert. Wenn sie auf prozentualer Basis arbeiten wollen, können sie das tun. Wenn sie von Dollar zu Dollar gehen, können sie das tun, oder, wenn sie wollen, von Tag zu Tag, können sie das auch tun. Wenn Sie sich dann daran erinnern, wird berechnet, wie viele Tage von der gesamten Reise entfernt sind. Hat diese Person in diesem Airbnb geschlafen, Hat diese Person in diesem Airbnb geschlafen berechnet also den richtigen Betrag und fügt dann die Kosten hinzu. Also ziemlich einfach und unkompliziert. Es wird damit beginnen und lassen Sie uns in einer Minute sehen , was es tut. In Ordnung. Es hat funktioniert und wir werden es mit Kosten sehen. Es ist also offensichtlich, dass es nicht auf die Figma-Designs zugegriffen hat. Ich kann es am Design erkennen, aber ich folge nicht genau, wie es aussehen sollte Ich werde es fragen, hast du dich genau an die FICMA-Designs gehalten und es danach gefragt Wir hatten keinen Zugriff und holen die Designs jetzt ab. Manchmal passiert das Es macht Fehler, es greift aus irgendeinem Grund nicht wirklich darauf Möglicherweise müssen Sie es erneut versuchen Nur eine freundliche Erinnerung: Möglicherweise müssen Sie das mehrmals tun , wenn es nicht beim ersten Mal passiert Mal sehen, was es dieses Mal macht. Diesmal hat es das Problem behoben. Tatsächlich gebe ich einige Zahlen ein. 20$ berechnet automatisch alles auf 30$, los geht's Sie können Personen daraus entfernen. Dies sind wahrscheinlich nicht die richtigen Staaten, also muss ich nur diese kleinen Dinge aktualisieren. Sie können dies auf Prozentbasis tun. Und das sieht auch nicht ganz richtig aus. Auch hier und da muss ich möglicherweise ein paar Änderungen vornehmen, um sicherzustellen, dass es aus Gründen der Einzelheiten aktualisiert wird Aber das Basisdesign ist anständig. Die Platzierung ist natürlich nicht richtig, aber zumindest fragt es uns, wir sie wirklich verwerfen wollen, auf Kosten, und dann können Sie jetzt nicht, es lässt Sie leere Ausgaben hinzufügen Solche kleinen Dinge müssen repariert werden. Aber wir werden diese Änderungen vornehmen und in der nächsten Vorlesung weitermachen und in der nächsten Vorlesung weitermachen 18. Authentifizierungsseiten: Ordnung, wir kommen zum Kern des Kurses, der Bauphase, und werden realistischer. Ich habe das Lichtsystem hinter mir geändert, um es an die Stimmung anzupassen. Aber im Grunde werden wir jetzt anfangen, an unserer Authentifizierung zu arbeiten Also werde ich das Projekt durchführen und noch einmal überprüfen, wo wir uns gerade befinden. Ich habe meine Dashboard-Seite eingerichtet. Offensichtlich handelt es sich dabei um Testdaten und nicht um echte Daten. Wir werden also dazu übergehen, echte Fahrten und echte Daten zu erstellen. Im Moment sind das alles nur Tests, aber ich habe eine funktionierende, erste Benutzeroberfläche in Betrieb. Natürlich müssen noch Verbesserungen vorgenommen werden, aber wir werden nicht auf die Details eingehen. Tatsächlich sollten Sie bei der Erstellung Ihres MVP dem Momentum Priorität einräumen und es schnell herausbringen , anstatt den kleinen Details. Als Designer gehe ich manchmal in das Kaninchenloch , gehe ich manchmal in das Kaninchenloch kleine Designdetails zu korrigieren, und bis zu einem gewissen Grad sind sie mit Sicherheit wichtig Ja, ich habe den Kostenfluss auch hier für mich selbst hinzugefügt Nochmals, nicht perfekt. Es müssen noch Optimierungen vorgenommen Aber ich denke, dies ist ein guter Zeitpunkt, um tatsächlich mit der Authentifizierung zu beginnen Mit anderen Worten, Benutzer können sich tatsächlich anmelden und ein Konto erstellen. Dafür werden wir zwei Tools verwenden. Wir werden ATJS verwenden , diese Bibliothek , mit der Sie Ihre Benutzer mit verschiedenen Anwendungen anmelden können , auch mit Github und Google, natürlich auch mit Github und Google, Twitter, Apple und E-Mail Auch hier werden wir MVP machen und vorerst nur bei E-Mails bleiben Aber um diese einzurichten, können Sie natürlich auch das durchgehen Sie benötigen nur ein bisschen mehr Zeit und ein bisschen mehr Einrichtung an sich. Sie können tatsächlich die Anweisungen für diese Geräte durchgehen , um beispielsweise Google einzurichten . Deshalb beginnen wir vorerst mit der einfachen E-Mail-Anmeldung, sodass die Nutzer ihre E-Mail-Adresse eingeben . Ich werde ihnen einen magischen Link schicken, um sich anzumelden. Und für diesen magischen Link müssen wir tatsächlich E-Mails senden. Um E-Mails zu versenden, verwenden wir dieses Tool namens Resend diesem erneuten Senden können Sie im Wesentlichen bis zu 3.000 E-Mails pro Monat kostenlos Das ist eine großartige Option. Machen Sie also weiter und beginnen Sie mit der Erstellung eines Kontos für Resend Ich werde das Gleiche hier machen. Ordnung. Sobald Sie angemeldet sind, können Sie einen API-Schlüssel für Ihre Konten erstellen . Fahren Sie fort und tun Sie das. Und stellen Sie sicher, dass Sie ihn kopieren. Was Sie jetzt tun möchten, ist, dass Sie in Ihrem Cursor oder wo auch immer Sie Ihre Dateien haben, zurückkehren Ihrem Cursor oder wo auch immer Sie Ihre Dateien haben und eine neue Datei erstellen, und Sie werden sie genau buchstabiert Punkt ENV Punkt Lokal nennen Punkt ENV Punkt Lokal Das ist also eine Umgebungsdatei, in all Ihre API-Schlüssel gespeichert werden, sodass diese API-Schlüssel verwendet werden können, um Ihre App beim erneuten Senden von E-Mails zu authentifizieren Dies ist eine sehr private Datei. Du möchtest das nicht auf GitHub posten oder veröffentlichen. Aus diesem Grund ist es automatisch in der Ignorier-Datei enthalten, wodurch das Hochladen dieser Datei ignoriert wird Diese Datei definiert tatsächlich, was auf GitHub übertragen wird und was nicht, und Punkt ENV-Dateien nicht Diese sind geheim. Sie möchten es geheim halten und zwar auf Ihrem Computer. Ähm, für hier kannst du es wirklich eingeben, wie du willst, aber ich mache einfach Resend Underscore API underscore-key, equals, und füge dann deinen Wert equals, und füge dann Sobald Sie Ihren Wert eingefügt haben, klicken Sie auf Speichern Jetzt wollen wir auch Auth JS einrichten. Also werden wir, du weißt schon, Cursor sagen, dass er uns dabei helfen soll Aber zuerst werde ich das Design für unsere Authentifizierungsbildschirme kopieren . Also werde ich einfach diesen hier machen. Ich werde hier rüber gehen. Da haben wir's. Lassen Sie uns diesen Anmeldebildschirm von Figma implementieren. Lassen Sie uns zunächst das Design tatsächlich implementieren , bevor wir den Anmeldebildschirm integrieren Ich werde nur darauf achten, Shad CN-Elemente zu verwenden. Und diese Seite sollte Slash Login sein. Ich sage dir, welchen Namen du erstellen sollst, obwohl du ihn wahrscheinlich sowieso herausgefunden hättest, aber ich sage dir, dass du explizit eine Anmeldeseite unter unserer App erstellst eine Anmeldeseite unter unserer Wenn du zu deinem App.com-Slash-Login gehst, Leute und auf dieser Seite Damit werden wir anfangen. Wir werden in einer Sekunde wiederkommen, um zu sehen, wie es funktioniert. Gehen wir zu Slash Login. Und da haben wir's. Gar nicht schlecht, sehr nah an dem, was wir haben. Wir werden uns später hier um die Grafik kümmern , sobald wir unsere App gestartet haben. Aber das ist großartig. Es gibt wieder kleinere Probleme, die behoben werden müssen , wenn ich mit der Maus über die Schaltflächen fahre Diese Anmeldeschaltfläche zeigt nicht den richtigen Cursor Nochmals, für diese kleinen Dinge, einfach sicher, dass Sie es auf der Anmeldeschaltfläche wissen lassen, der richtige Linkcursortyp nicht angezeigt wird diese Weise möchten Sie Ihr Fix-Set klein und nacheinander angehen . Dann sehen wir, dass wir uns angemeldet haben. Wir haben noch keinen Anmeldebildschirm, also werde ich ihn auch bitten, diese Seite zu duplizieren und bei der Anmeldung mit Schrägstrich auch eine Anmeldeversion zu erstellen Ich stelle das in die Warteschlange. Als Nächstes wird es daran funktionieren. Und während das erledigt und abgeschlossen ist, kommen wir in der nächsten Vorlesung zurück, um mit unserem Authentifizierungs-Setup fortzufahren . 19. Datenbank: Ordnung, ich habe gerade eine Anmeldeseite und bevor wir unsere Authentifizierung wirklich zum Laufen bringen können , müssen wir eine Datenbank einrichten. In der Datenbank werden die Daten also gespeichert. Sobald ein Benutzer also seine E-Mail-Adresse das Passwort eingegeben hat und ein Konto erstellen möchte, und zwar immer dann, wenn wir Aktualisierungen für diesen wird hier in der Datenbank im Wesentlichen ein Kontodatensatz erstellt, Benutzer vornehmen müssen oder wir Reisen hinzufügen müssen oder wir müssen Ausgaben hinzufügen. All das muss getrennt sein. Sie können sie sich als Tabellen oder separate Kategorien von Dokumenten vorstellen separate Kategorien von Dokumenten , die wir mithilfe einer Datenbank benötigen. Für unsere Datenbank werden wir MongoDB verwenden. Natürlich gibt es auch andere Optionen wie Postgres und Neon und viele Wenn Sie bereits an einen gewöhnt sind, wählen Sie ihn aus. Wenn nicht, ist der Einstieg in Mongo DB einfach. Gehen Sie zu mongodb.com und legen Sie los. Ich habe bereits ein Konto, ich werde mich anmelden. Sobald Sie angemeldet sind, stellen Sie sicher , dass Sie ein neues Projekt erstellen. Ich werde meine Projektreise vorerst nur Expense App nennen . Auch das kannst du später ändern. Klicken Sie auf Weiter. Klicken Sie auf Projekt erstellen. Sobald Sie hier sind, möchten Sie weitermachen und einen Cluster erstellen. Cluster ist im Wesentlichen ein Container für Ihre Datenbank. Hier werden einige Optionen angezeigt. Ich werde die kostenlose Version wählen Anfang gut genug ist, und wenn Sie dann immer mehr Benutzer haben, möchten Sie vielleicht auf die anderen upgraden. Um für den Namen Cluster Null zu verwenden und diese dann mit den Standardeinstellungen zu belassen, erstellen Sie ein Deployment. Jetzt werden Sie hier sofort einen Benutzernamen und ein Passwort sehen. Sie werden weitermachen und auf Datenbankbenutzer erstellen klicken. Sie wählen eine Verbindungsmethode und ich wähle Compass. Compass ist also diese Anwendung, die auf Ihrem Computer läuft und Sie können die Daten im Wesentlichen verwalten sodass Sie sie sehen können. Sie müssen sich nicht jedes Mal in Ihrem Browser bei mongodb.com anmelden jedes Mal in Ihrem Browser bei mongodb.com Tatsächlich können Sie dafür einfach diese MongoDB Compass-App verwenden diese MongoDB Compass-App Mach weiter und lade es herunter. Nehmen Sie sich dafür eine Sekunde Zeit, wenn Sie es nicht haben. Ich habe es bereits, also klicke ich auf Ich habe Compass installiert. Dann bekommst du hier unten eine Schnur für deine Verbindung. Sie benötigen diese Zeichenfolge erneut , um sie in Ihrem Code zu haben. Stellen Sie sicher, dass Sie das kopieren. Treffer hier erledigt. Gehen Sie zurück zu Ihrem Code und innerhalb von Punkt Punkt Local, den wir erstellt haben, werden Sie eine neue Zeile erstellen, Mongo-Unterstrich URI entspricht, und dann die Zeichenfolge einfügen, die Sie von Mongo DB erhalten haben Klicken Sie auf Speichern und schließen Sie das. Sobald Sie sich in MongoDB Compass befinden, können Sie eine neue Verbindung hinzufügen und den URI einfügen, den Sie erhalten haben Ich werde hier den Namen in Trip Expense App ändern und dann speichern und eine Verbindung herstellen Also bin ich jetzt hier drin. Es gibt noch keine Daten, also gibt es hier nichts, was Sie sehen können. Wir werden noch eine Sache machen. Sie werden hier am Ende Ihrer Zeichenfolge zu Ihrem eigenen Local zurückkehren , wo der Schrägstrich mongodb.net steht, Sie werden Dev DEV schreiben ist nicht unbedingt wichtig, wie Sie es schreiben oder ob Sie Entwicklung oder ähnliches schreiben Das ist alles nur, um hier einen Ordner namens Dev oder einen Container zu erstellen . Sie können sich das vorstellen, der Ihre Dev- oder Testing-Datenbank im Grunde von Ihrer Produktions-Datenbank trennt . Sobald wir live gehen und andere Benutzer dies verwenden können, möchten Sie, dass das normalerweise in einem anderen Container in Ihrer Datenbank oder in Ihrem Cluster bleibt Ihrer Datenbank oder in , damit nicht alles durcheinander gerät. Dies dient eher der Organisation und bewährten Methoden. Sobald wir zur eigentlichen Produktion kommen, werden Sie sehen, wie das geht. Aber stellen Sie vorerst sicher, dass Sie den Schrägstrich Dev hinzufügen . Wir sind alle hier eingerichtet. Kommen wir jetzt in der nächsten Vorlesung zurück um tatsächlich mit der Benutzerauthentifizierung zu beginnen 20. Authentifizierung abschließen: Um zur Erstellung von Benutzern zu gelangen. Eine Sache, die ich beachten möchte , ist, dass wir gerade in meiner App diese E-Mail-Adresse und dieses Passwort haben. Ich werde mich dafür entscheiden, kein Passwort zu und es einfach zu halten, sodass die Benutzer einfach ihre E-Mail-Adresse eingeben und einen Link erhalten, über den sie sich ganz einfach bei der App anmelden können. Auf diese Weise ist es viel einfacher und sie müssen sich kein Passwort usw. merken. Natürlich können Sie sich dafür entscheiden , dies zu tun, wenn Sie möchten. Natürlich werden diese Schaltflächen wahrscheinlich zunächst nicht funktionieren . Später, wenn wir Zeit haben, können wir das jederzeit einrichten. Aber konzentrieren wir uns vorerst nur darauf, dass sich Benutzer per E-Mail anmelden. Um das zu tun, werde ich hier drüben und in einen neuen Chat gehen. Wir werden Next Auth installieren und die Authentifizierung implementieren, es funktioniert und auch ein Benutzermodell und die notwendigen Dateien für Mongo hinzufügen ein Benutzermodell und die notwendigen Dateien für Mongo Sie werden das schreiben und im Grunde sagen Sie Ihnen nur, dass Sie die nächste JS-Bibliothek installieren sollen, über die wir gesprochen haben, und dann wird es weitermachen und ein Benutzermodell erstellen Jedes Mal, wenn wir über so etwas wie ein Modell sprechen, bedeutet das im Grunde, die Parameter eines Benutzers zu definieren . Ein Benutzer hat beispielsweise eine E-Mail, hat ein Passwort, er hat einen Vornamen, er hat Reisen, die er erstellt hat, und Reisen sind solche, die im Wesentlichen mit einem anderen Modell verknüpft werden könnten. Sie möchten sich das als die Daten vorstellen, die sich auf den Benutzer beziehen, oder auch immer das andere Modell, das wir erstellen. Sobald wir mit der Erstellung des Reisemodells begonnen haben, benötigen wir auf ähnliche Weise Datumsfelder von welchem Tag bis zu welchem Tag. Ähm, wie viele Personen sind Teil dieser Reise, wer ist Teil dieser Reise? Welche Kosten fallen bei dieser Reise an. Wir können sehen, dass Cursor bereits einen für unseren Benutzer dot js zusammengestellt hat. So sieht es aus, oder? Wir haben den Namen, wir haben die E-Mail, wir haben das Passwort. Es hat das Passwort hinzugefügt, weil es in den Designs gesehen wurde, aber auch hier brauchen wir es nicht. Das sind Zeitstempel, die im Grunde nur zeigen, wann dieser Benutzer erstellt wurde Wann wurden sie zuletzt aktualisiert oder wann wurden ihre Daten zuletzt aktualisiert? Standardmäßig sollten sie da sein. Wir werden diese Akte behalten. Ich habe hier einen Fehler gemacht und vergessen, ihr mitzuteilen, dass sie das Passwort tatsächlich entfernen und erneut senden für den Versand von Bestätigungs-E-Mails verwenden soll das Passwort tatsächlich entfernen und erneut senden für den Versand von Bestätigungs-E-Mails verwenden Genau das mache ich gerade, indem ich ihm sage, dass er das Passwort aus der App und der Authentifizierung entfernen und stattdessen das E-Mail-Feld verwenden und zur Bestätigung erneut senden soll aus der App und der Authentifizierung entfernen und stattdessen das E-Mail-Feld verwenden und zur Bestätigung erneut senden Ich werde warten, bis es fertig ist, und dann zurückkommen. Damit Next Auth funktioniert , müssen Sie außerdem noch diesen geheimen Authentifizierungsschlüssel benötigen, um ihn in unsere eigene lokale Datei oder Umgebungsdatei integrieren oder hinzufügen zu können ihn in unsere eigene lokale Datei oder Umgebungsdatei integrieren oder hinzufügen zu unsere eigene lokale Datei oder Umgebungsdatei integrieren oder Kopieren Sie einfach dieses NpxOtSecret von hier drüben und führen Sie es dann Ich werde hier ein neues Terminal öffnen und das dann einfach ausführen Du machst das Gleiche. Dann werden Sie möglicherweise aufgefordert, ein neues Paket zu installieren Geben Sie einfach Y ein und drücken Sie die Eingabetaste für Ja. Ich werde dir einen gewissen Wert geben. Stellen Sie einfach sicher, dass Sie das kopieren und in Ihre eigene lokale Datei einfügen . Cursor hat sogar ein Beispiel für mich zusammengestellt , um zu sehen, welche Dinge ich benötige. Ich benötige das auch kürzlich per E-Mail. Stellen Sie sicher, dass Sie das hinzufügen. Zum Testen können Sie es einfach so lassen. Sobald wir eine Domain gekauft haben, wollen wir die echte Domain tatsächlich nutzen. werde meinen Server neu starten, indem ich Control C drücke und dann hier raufgehe, um NPM Run Dev auszuführen Ich verwende einfach die Aufwärtspfeiltaste, um zum letzten Befehl zurückzukehren , den ich dort geschrieben habe, drücke die Eingabetaste und öffne dann mein Projekt noch einmal Wir haben diese E-Mail. Willkommen zurück. Jetzt habe ich kein Konto, also werde ich mich anmelden. Stellen Sie sicher, dass Sie hier die E-Mail-Adresse angeben , mit der Sie sich zu Testzwecken bei Resend angemeldet haben . Da haben wir's. Wenn ich meine E-Mails checke, erhalte ich so etwas. Scheint, als hätten wir das nächste Geheimnis nicht korrekt eingefügt, so wie es in dieser Beispieldatei steht. Testen wir das noch einmal, klicken Sie, um sich anzumelden, und da haben wir es. Wir sind angemeldet. Wir haben jetzt tatsächlich einen Benutzer. Hier steht unsere E-Mail, wir können uns hier abmelden. Wenn ich zu unserem Mongo DB Compass und diese Reisekosten-App aktualisiere, können wir sehen, dass wir diesen Ordner jetzt Dev haben , weil wir den Schrägstrich Dev eingeben Wenn ich dann hierher gehe, haben wir Benutzer, und los geht's. Das ist mein Benutzer, also ist es dort aufgetaucht . Wir haben hier keinen Namen. Vielleicht können wir es auf der Anmeldeseite so einrichten , dass der Benutzer dort seinen Vornamen eingibt. Ursprünglich war es mein Design, ich dachte, ich mache eine separate Seite, aber es ist albern, hier nur ein Feld zu haben Ich werde einen neuen Chat erstellen und Cursor bitten, der Anmeldeseite über der E-Mail ein neues Namensfeld hinzuzufügen der Anmeldeseite über der E-Mail ein neues Namensfeld . Der Vorname des Benutzers wird auch in der DB-Abkürzung für Datenbank gespeichert Ich werde das laufen lassen und so ziemlich haben wir unsere Authentifizierung abgeschlossen Jetzt haben wir Benutzer, wir haben eine Datenbank und wir sind dem Ziel, diese App tatsächlich voll funktionsfähig zu machen, einen Schritt näher gekommen. Kommen wir als Nächstes zurück, um uns darauf konzentrieren, Benutzern das Erstellen von Reisen zu ermöglichen. 21. Fahrten erstellen: Ordnung. Ich glaube, ich bin bereit, der Erstellung einer neuen Reise hier mit der Erstellung einer neuen Reise zu beginnen, damit die Leute auf Neue Reise erstellen klicken können. Ich denke an MVP, Keep it simple, Schnellwarnmodell-Bildschirm, der angezeigt sie nach dem Namen der Reise und den Daten fragt . Die Daten wird und sie nach dem Namen der Reise und den Daten fragt. Die Daten sind optional, aber ich behalte das dort Und ich werde sicherstellen, dass die CN-Komponenten verwendet da sie bereits über Datumsauswahlmöglichkeiten verfügen, sodass Sie das nicht herausfinden müssen Im übrigen brauchen wir eigentlich nichts anderes vom Benutzer Also vielleicht werde ich einfach schnell eine Reise erstellen und den Einladungslink einfügen und kopieren. Sie machen das einfach und dann können sie es an jeden schicken, an dem sie an ihrer Reise teilnehmen möchten. Lass uns damit anfangen. Ich gehe zurück und erstelle hier einen neuen Chat und sage, ähm, lassen Sie uns das Hinzufügen einer Reise funktionstüchtig machen. Benutzer können eine neue Reise hinzufügen. Stellen Sie sicher, dass Sie es dem Benutzermodell hinzufügen. Stellen Sie sicher, dass Sie ein neues Reisemodell erstellen. Also nochmal, das Modell hier ist, wie wir den Überblick über verschiedene Arten von Daten behalten Eine Reise sollte ihre eigenen Daten vom Nutzer haben, und die Reise wird Dinge beinhalten wie, wie wir bereits erwähnt haben, den Namen der Reise, ähm, die Anzahl der Ausgaben oder die Ausgaben darunter, wer Teil dieser Reise ist, sodass wir den Benutzern tatsächlich die richtigen Reisen zeigen oder ihnen ermöglichen können, sie wer Teil dieser Reise ist, sodass wir den Benutzern tatsächlich die richtigen Reisen zeigen oder ihnen ermöglichen können zu sehen und so weiter und so weiter. Als Teil dieses Reisemodells, also schreibe ich einfach als Teil des Reisemodells, achten Sie darauf, den folgenden Namen hinzuzufügen: Besitzer, also wer diese Reise erstellt hat, Benutzer, die Teil davon sind. Später werden wir Ausgaben hinzufügen. Wir haben kein Ausgabenmodell, also lassen wir das einfach weg. Startdatum, Enddatum der Reisen. Wir brauchen nicht wirklich einen Ort, das wäre nur der Name. Was brauchen wir noch? Ich denke , das ist für den Anfang gut. Dann lassen wir es ein neues Modell mit Shad CN erstellen, den Komponenten, die auftauchen, wenn der Benutzer zuschlägt , erstellen eine neue Reise und fragt nur nach dem Namen, den Daten und den Startdaten Machen Sie Daten optional, aber der Name ist erforderlich, und geben Sie den primären CTA oder Call to Action ein, erstellen Sie eine Reise und kopieren Sie den Einladungslink mit einem sekundären CTA, um einfach eine Reise zu Wir werden das überprüfen, eine Sekunde warten und dann kommen wir zurück, um zu sehen, was es macht Es ist wichtig zu wissen, was im Hintergrund vor sich geht , wenn es dieses Ding macht und jenes hinzufügt. Ich möchte sichergehen , dass Sie verstehen was der KI-Agent im Hintergrund tut , denn auch hier halte ich es für wichtig, auch einige Hintergrundinformationen zu haben. Es macht ein paar Dinge. Es kreiert ein Modell für unsere Reise. Wenn wir hier weitermachen, sehen wir alle Daten, von denen wir ihr gesagt haben, dass wir sie haben wollen. Ich habe sogar einige zusätzliche hinzugefügt, wie zum Beispiel den Einladungscode, den ich ihm nicht gesagt habe, aber er tut das , sodass er einen Reisecode generieren kann , den sich die Leute gegenseitig schicken können. Es wurde auch eine API-Route erstellt. API-Route ist im Wesentlichen eine Möglichkeit für das Frontend dem Backend zu kommunizieren und beispielsweise neue Reisen zu erstellen. Wenn wir hier reingehen, erledigt es ein paar Dinge indem es zuerst überprüft, ob der Benutzer authentifiziert ist Es führt einige erste Überprüfungen durch und stellt sicher, dass der Name der Reise hinzugefügt wurde Wenn der Benutzer diese nicht hinzufügt und versucht, eine neue Reise zu erstellen, wird ihn diese API-Route im Wesentlichen daran hindern, dies zu tun. Aber wenn alles in Ordnung zu sein scheint, wird er weitermachen und die Reise mit den folgenden Informationen erstellen lassen , mit dem Namen, wem sie gehört, wer Teil davon ist, wo die Benutzer, wann ist das Startdatum? Wann ist das Enddatum. Im Wesentlichen ermöglicht dieser Code dem Frontend über diese API-Route mit dem Backend zu kommunizieren. Ähm, offensichtlich macht es von selbst einige Annahmen. Die KI wird das also tun, wenn Sie ihr nicht genügend Informationen oder Kontext geben. Ich glaube, ich habe auf der Reiseseite nicht ausführlich darüber gesprochen , was wir tun wollen, ob es die Art von leeren Karten oder falschen Karten ersetzen soll , die wir bisher erstellt haben. Lassen Sie uns sehen, was es macht, und dann weitermachen. In Ordnung, es sieht also so aus, als ob ich momentan keine Reisen habe. Es hat die leere Seite, die ich bereits entworfen habe, noch nicht implementiert , aber ich habe ihr diese Seite noch nicht gegeben. Das ist der nächste Schritt in der Liste der Dinge, die zu tun sind. Aber lass uns versuchen, eine neue Reise zu erstellen. Nennen wir es Bali 2025. Startdatum. Wählen wir den 2. März aus, machen wir den sechsten, erstellen wir eine Reise und kopieren die Einladungs-Tinte, aber wir können die Reise nicht erstellen. Etwas ist passiert. Mal sehen, was weg ist. Hier in Ihrem Terminal werden Sie immer alle Fehler sehen , die möglicherweise aufgetreten sind. Es sieht so aus, als ob es einen Fehler gab, der etwas mit dem nächsten zu tun hat, das hier geschrieben wurde. Was Sie hier mit dem Cursor tun können , ist, dass Sie tatsächlich an und dann zu den Terminals gehen und dort auswählen können, dass dies das Knoten-Terminal ist . Sie können also das Knoten-Terminal auswählen und sagen, wir haben einen Fehler und lassen es ihn herausfinden. Sieht aus, als ob es behoben wurde. Lass uns das noch einmal versuchen. Und es gibt immer noch ein Problem. Wiederholen Sie erneut genau den gleichen Vorgang. Es gibt noch einen Fehler, es sieht so aus, als ob der Fehler jetzt woanders ist. Mal sehen, ob wir ihn beheben können. Mal der Charme. Klicken wir auf Reise erstellen und kopieren den Link zur Einladung. Bum, immer noch ein Fehler. Stellen Sie sicher, dass Sie ab und zu nach Korrekturen den Server anhalten. Drücken Sie also Strg C in Ihrem Terminal und starten Sie Ihre Entwicklungsumgebung erneut, führen Sie Ihre App erneut aus und lassen Sie uns das noch einmal tun. Bali 2025 und wir werden einige Termine festlegen, auch wenn es nicht notwendig ist. Und da haben wir es. Wir sind auf Bali 2025. Es hat sogar diesen Link hier erstellt. Jetzt bin ich mir nicht sicher, ob der Link tatsächlich kopiert wurde. Lassen Sie uns versuchen, dass es selbst eine Einladungs-Tinte erstellt und wir es dann nach draußen ausführen. Wir haben hier nicht wirklich den richtigen Link, also wurde der Einladungsteil nicht richtig implementiert, aber das liegt einfach daran, dass wir die Reise überstürzt erstellt haben und nicht mehr Details darüber angegeben haben, wie es mit der Einladung von Freunden usw. umgehen wird mit der Einladung von Freunden usw. umgehen Meine Logik ist also, lassen Sie uns zuerst die Erstellung der Reise abschließen Lassen Sie uns die Kostenerstellung und all das herausfinden. Dann werden wir daran arbeiten, wie die Benutzer tatsächlich Freunde zum Beitritt einladen können. Im Moment ist das unglaublich. Wenn wir wieder hierher gehen, wurde die Reise erstellt, und das ist nicht nur eine Fälschung, sondern sie ist tatsächlich in unseren Warenkorb gegangen und wenn wir unseren Mongo-DB-Kompass aktualisieren, können wir sehen, dass wir jetzt diesen Ordner für Reisen hier haben , mit all den Reisen, die wir erstellt haben, diese eine Reise, die wir erstellt haben, können wir sehen, wer Teil davon ist Wenn Sie eine Objekt-ID sehen, die auf eine andere Tabelle in einem anderen Ordner verweist auf eine andere Tabelle in einem anderen Ordner Das ist der Benutzer, den ich hier habe. Das ist die Objekt-ID hier. Es entspricht dem Benutzer oder dem Besitzer und als Teil der Benutzer ist es auch mein Konto. Ich bin sowohl der Besitzer dieser Reise als auch der Nutzer, was Sinn macht. Wir haben das Startdatum und das Enddatum. Es wurde ein Einladungscode erstellt. Auch hier haben wir keine weiteren Informationen darüber gegeben, wie Einladungen funktionieren sollten, aber das werden wir später wieder tun, sobald ich den gesamten Ablauf für eine Reise abgeschlossen habe. Lassen Sie uns zurückkommen und tatsächlich an den Ausgaben arbeiten. Ähm, und dann fange mit Einladungen an. 22. Kostenfluss: Es sieht also so aus, als ob wir hier auf dem richtigen Weg sind. Also warum treiben wir es nicht voran , indem wir die Ausgaben in die Realität umsetzen? Lassen Sie uns also Funktionen zu den Ausgaben hinzufügen, ein Ausgabenmodell mit allen erforderlichen Parametern erstellen und darauf achten, und darauf achten Ausgaben zum Reisemodell hinzuzufügen, falls das nicht bereits vorhanden ist. Stellen Sie sicher, dass die Ausgaben tatsächlich die Salden verschiedener Benutzer berechnen. Da haben wir's. Das schicken wir durch. Zeit, unseren Kostenfluss zu testen. Lassen Sie uns eine Ausgabe hinzufügen. Nehmen wir an, es waren 20$ und es war für Lebensmittel. Und natürlich habe ich selbst nur eine Person zu der Reise hinzugefügt, also macht das nicht wirklich Sinn Aber lass uns einfach weitermachen und schauen, ob das funktioniert. Da haben wir's. Es wurde hinzugefügt. Offensichtlich muss im Moment etwas daran gearbeitet die E-Mail hier anstelle des Vornamens anzuzeigen. Ich vermute, irgendwo im Code wird die E-Mail angezeigt, wenn es keinen Namen für den Benutzer gibt Lassen Sie uns das tatsächlich testen Ich gehe zu Mongo DB Compass und anstatt dass der Name hier leer oder null ist, lassen Sie uns weitermachen und tatsächlich eine Änderung daran vornehmen Wenn wir auf Update klicken, legen wir den Namen fest. An Nima Tahami. Dieses Set ändert diesen Namen im Wesentlichen in Nima Tommy. Normalerweise kannst du es direkt dort bearbeiten, aber weil es Null war, mussten wir es tatsächlich so machen Wenn wir jetzt frisch sind, haben wir einen Namen. Wenn ich die App aktualisiere und los geht's. Ich hatte recht, der Code ersetzt den Namen durch E-Mail. Wenn der Benutzer keinen Namen hat, wird dieser angezeigt. Aber ich habe dafür gesorgt, dass ich ab jetzt die Namen der Benutzer im Anmeldevorgang sammle um zu sehen, ob wir zu allen Reisen zurückkehren und uns abmelden. Lass uns jetzt anmelden. Ich werde nach dem vollständigen Namen fragen, es sei denn, du gibst deinen vollen Namen an, ich lasse dich nicht registrieren, du musst deinen vollen Namen eingeben. Da haben wir's. Der Ausgabenfluss funktioniert auch. Wenn wir unsere Datenbank hier aktualisieren, sollte ich die Ausgaben als separate Tabelle sehen , und los geht's. Wir haben die Reise , der sie gehört, ähm, bezahlt von, wer hat diese Reise eigentlich bezahlt? Wie hoch war der Betrag? Wie lautet die Beschreibung? Wie ist es aufgeteilt? Es hat all das im Hinterkopf behalten, ebenso wie die Spaltungen. Wer schuldet wie viel? Das sieht ziemlich gut aus. Ich werde nicht lügen. Natürlich gibt es immer noch Verbesserungen, die ich daran vornehmen kann sodass Benutzer Ausgaben löschen können, um sicherzustellen, dass diese Aufteilung zwischen den beiden richtig funktioniert. In Zukunft werde ich einige Tests durchführen, um sicherzustellen, dass das funktioniert. Im nächsten Schritt werde ich dafür sorgen, dass der Ablauf „Freunde einladen “ funktioniert, sodass Benutzer tatsächlich einen Link hierher kopieren, auf Freunde einladen klicken, einen Link kopieren und dann andere Freunde in die App einladen können. Das Problem ist, dass wir derzeit nicht mehrere Konten erstellen können , da Resend uns nur erlaubt , E-Mails von Domains zu versenden, die wir besitzen, und wir haben diese App nicht wirklich gebrandmarkt oder eine Domain gefunden oder ähnliches Wir müssen eine Pause einlegen, ein bisschen über Branding sprechen und uns einen Namen einfallen lassen und all das Sobald wir damit fertig sind, können wir diesen Ablauf tatsächlich weiter testen. Im Moment muss ich mir darüber keine Gedanken machen. Das ist eher in der Testphase. Vorerst werde ich sicherstellen, dass das Einladen von Freunden funktioniert, wenn es implementiert ist. Benutzer, die nicht authentifiziert sind, können die Seite sehen, nur die Reiseinformationen hier drüben und dann vielleicht eine Schaltfläche, um der Seite beizutreten 23. Branding: Wir müssen uns also eine Marke einfallen lassen, bevor wir weitermachen. Weißt du, irgendwann in deinem Projekt musst du das machen. Es ist eines dieser Dinge, bei denen es manchmal etwas Zeit in Anspruch nimmt, vor allem, den richtigen Namen, das richtige Logo, weißt du, Schriftarten, Farben usw. auszuwählen das richtige Logo, weißt du, Schriftarten, Farben usw. Ich stehe oft vor diesem Problem, wie Sie sich vorstellen können, ähm, ich weiß nicht, mehr als 16 Apps zu entwickeln Lassen Sie sich also selbst eine Anwendung einfallen , die Ihnen dabei hilft. Alternativ können Sie dies jetzt natürlich auch in ChatGPT tun Sie müssen es nicht genau in diesem Tool tun, aber ich habe dieses Tool im Wesentlichen zusammengestellt um Ihnen schnell eine Marke bieten zu können, einschließlich Farben, Domainideen, Namensideen und so weiter Ich besitze also bereits eine Domain tripvela.com, und weil ich diese für ein früheres Projekt hatte , das nie wirklich ins Leben gerufen wurde, möchte ich sie für dieses Projekt verwenden , weil sie sehr relevant ist, aber ich habe kein Logo dafür und ich habe nicht wirklich bestimmte Schriftarten und Farben. Also werde ich Brand Kit verwenden, um mir das auszudenken. Du wirst die Marke oder, du weißt schon, die Idee hier schreiben , eine App, die Freunden hilft, die Reisekosten aufzuteilen. Weil ich schon einen Namen habe, werde ich sagen, dass er Tripvela heißt Ich brauche den Namen D nicht. Ich brauche nur ein Logo und vielleicht ein paar Schriftfarben Hier dauert es eine Sekunde. Offensichtlich zeigt es Tripvela als Namen. Hier ist ein einfaches Logo, das ich verwenden kann. Dies ist ein einfaches Logo, aber Sie können auch ein Premium-Logo erwerben. Ich werde das Premium-Logo ausprobieren. Dieses Farbschema ist nicht schlecht, aber ich werde es ändern und versuchen, zu sehen, was wir hier noch bekommen können. Das ist anständig. Dieses Grau ist auch nett. Ich könnte einige dieser Farben verwenden. Aber lassen Sie uns vorerst sehen, das ist das Premium-Logo, das es sich ausgedacht hat. Lass uns das noch einmal ausprobieren. Offensichtlich wird tripl.com verwendet, weil ich das für meine Domain habe, aber es zeigt Ihnen auch andere verfügbare Domains Wenn du andere Namen möchtest, kannst du sie mischen. Sie müssen nicht Ihren eigenen Namen in das Tool eingeben. Alles erstellt eine E-Mail-Signatur für Sie, sodass Sie diese für Ihre E-Mail verwenden können. können gerne damit herumspielen, sich eine Namensidee einfallen lassen, sich einige Schriftarten und Farben einfallen lassen. Auch hier können Sie dies verwenden oder mit ChatGPT chatten, um sich das auszudenken, und dann eine Domain kaufen Stellen Sie sicher, dass Sie eine Domain kaufen und dann zurückkehren , um Ihre Domain in Resend zu integrieren , damit wir mehrere Benutzer erstellen können, damit wir unseren Einladungsablauf tatsächlich testen können , oder zumindest für Wenn deine Bewerbung anders ist und du das nicht tun musst, kannst du das bis zum Ende warten lassen Wir sehen uns in einer Minute. 24. Verbinden der Domäne zum erneuten Senden: Ich hoffe, Sie haben inzwischen die Domain gekauft , die Sie für Ihr Projekt verwenden werden Sobald Sie das getan haben, verwende ich hier Namechep, also verwenden Sie vielleicht Go Daddy, Namechep Stellen Sie sicher, dass Sie den Abschnitt Erweitertes DNS finden , damit Sie hier einige Einträge hinzufügen können Diese Aufzeichnungen ermöglichen es uns, E-Mails von Resend an Benutzer zu senden Wir müssen hier in resend.com unter Domains unter resend.com Schreiben Sie Ihre Domain. Sie können auch eine Domain hinzufügen. Sie können E-Mails beispielsweise von der Benachrichtigung dotdmain.com Ich werde das Gleiche tun. Ich werde notifications.tripvela.com verwenden, was meine Domain ist. Und dann werden wir die Domain hinzufügen. Dann gebe ich dir hier einige Anweisungen. Du kannst dir sogar ein Video ansehen, wenn du willst. Aber es ist ziemlich einfach. Sie müssen diese Einträge lediglich in Ihr DNS bei Ihrem Domain-Anbieter kopieren . Sie werden einen neuen Datensatz hinzufügen. Wenn Sie zurückschauen, ist dies ein TXT-Eintrag Sie möchten einen TXT-Eintrag auswählen. für den Host erneut alles ein, Fügen Sie für den Host erneut alles ein, was Sie hier sehen. Fügen Sie für den Wert ein, was Sie hier sehen Sie können es einfach kopieren und sicherstellen, dass Sie es richtig machen. Nehmen Sie sich Zeit dafür. Du wirst auch einen MX-Record machen. MC-Aufzeichnungen sind tatsächlich hier drüben. Ich habe bereits Punktbenachrichtigungen gesendet. Dann möchte ich diesen hier drüben kopieren. Ich werde tatsächlich einen weiteren MX-Eintrag hinzufügen, oder tatsächlich, das ist ein TXT-Eintrag, kein MX-Eintrag, sondern ein weiterer TXT-Eintrag hier oben, füge den Host ein und füge diesen hier ein, den Wert. Wir haben diese jetzt hier gemacht, und dieser ist optional, aber ich empfehle Ihnen, ihn zu tun. Ein weiterer TXT-Eintrag. Also und drücke Enter. Ich möchte nur sichergehen, dass Sie das auch tun, ist hier die Priorität für den MX-Eintrag auf zehn zu setzen. Weil wir davon keine E-Mails erhalten werden, wird es nur gesendet, damit sich die Leute anmelden können. Wir müssen den Empfang nicht aktivieren. Ich habe die Einträge hinzugefügt und dann wird der DNS überprüft. Gib ihm einfach etwas Zeit. Wenn Sie das richtig gemacht haben, wird bald alles grün markiert sein. Dann wissen Sie, dass Sie dieses Setup haben und können beginnen, E-Mails von dieser Domain aus zu versenden. Manchmal kann dies etwas länger dauern als gewöhnlich, geben Sie ihm etwas Zeit. Es kann bis zu ein paar Stunden oder Minuten dauern, aber normalerweise wird dies sofort erledigt und wir sind verifiziert. Wir sind startklar. Jetzt müssen wir nur noch zu unserer Codebasis zurückkehren und sicherstellen, dass in der Codebasis in Ihrem On Dot Local, genau wie im On-Punkt-Beispiel hier, das erneute Senden von E-Mail zu der E-Mail geändert wird, die Sie gerade erstellt haben erneute Senden von E-Mail zu der E-Mail geändert wird, die Sie gerade erstellt Aber natürlich haben Sie gerade eine Domain erstellt. Meins war eine Benachrichtigung, Punkt tripvela.com, aber du brauchst einen Anfang für die E-Mail und für diese kannst du normalerweise einfach so etwas wie keine Antwort unter tun Keine Antwort auf notifications.tripvela.com. Ich werde nur überprüfen, ob ich das hier habe. Stellen Sie sicher , dass Sie die E-Mail, die von einer E-Mail erneut gesendet wurde, ersetzen , dass Sie die E-Mail, die von einer E-Mail erneut , damit sie es weiß und von der richtigen E-Mail gesendet Ich teste das gerade einer anderen E-Mail, um zu sehen, ob es funktioniert Ich sehe, dass es funktioniert. Jetzt erhalte ich es von Tripvela-Benachrichtigungen auf tribella.com, schicke es mir und dann kann ich Jetzt haben wir einen weiteren Benutzer erstellt, ich kann Reisen unter diesem Benutzer erstellen Aber was mich interessiert, ist, an einer Reise teilnehmen zu können , die jemand anderes bereits gemacht hat. Kommen wir zurück und arbeiten in der nächsten Vorlesung an diesem Ablauf. 25. Freunde einladen Setup: Also habe ich von dem Benutzer , den ich gerade erstellt , einem anderen Benutzer, mit dem ich die erste Reise erstellt habe, versucht, auf denselben Link zuzugreifen , den dieser Benutzer für diese Reise hat. Dies ist der Link für diese Reise. Aber jetzt sehe ich , dass ich keinen Zugang zu dieser Reise habe. Da ich nicht der Ersteller der Reise bin und auch nicht zu den Nutzern der Reise gehöre, habe ich keinen Zugriff darauf. Aber was wir wollen, ist, dass wir tatsächlich einige Informationen über die Reise zeigen wollen , vielleicht nur diesen oberen Teil hier, dass es sich um eine Reise nach Bali handelt, dass das der Besitzer ist, das sind die Daten und wie viele Personen reisen. Äh, und anstatt all die anderen Informationen wie Salden und Reiseaktivitäten zu sehen Salden und Reiseaktivitäten , weil sie für mich noch nicht relevant sind , habe ich an der Reise nicht teilgenommen. Was wir tun können, ist eine Schaltfläche mit der Aufschrift An dieser Reise teilnehmen zu haben eine Schaltfläche mit der Aufschrift An dieser Reise teilnehmen , um Aktivitäten oder ähnliches zu sehen . Sie klicken auf den Button. Wenn sie dann kein Konto haben oder ausgeloggt sind, werden sie aufgefordert, ein Konto zu erstellen oder sich anzumelden. Sobald sie das getan haben, sollten sie in der Lage sein, automatisch Teil dieses Strips zu werden und dann alle Salden und Reiseaktivitäten zu sehen . Vorerst werden wir es Cursor oder dem Cursor AI-Agenten mitteilen . Wir möchten es Nutzern ermöglichen, sowohl anonym als auch eingeloggte Nutzer, die nicht Teil einer Reise sind, allgemeine auch eingeloggte Nutzer, die nicht Teil einer Reise sind, Informationen über die Reise einzusehen. Das gilt nur für den oberen Teil, nicht für die Abschnitte „Bilanz“ oder „ Reiseaktivitäten“. Stattdessen sollte es eine Schaltfläche geben, mit der Sie an der Reise teilnehmen können. Wenn ein Benutzer darauf klickt, sollte er zur Anmeldeseite werden. Wenn er nicht Teil der Reise ist, sollte er Teil der Reise werden und alle relevanten Informationen sehen. Was wir dir sagen, ist, dass wir wollen, dass die Leute im Internet diesen Strip über diesen Link finden können. Wenn Sie diesen Link haben, bedeutet das, dass Sie auf die Reise zugreifen können. Also hat es jemand mit dir geteilt , der Zugriff auf diesen Link hat. Es ist also kein öffentlich zugänglicher Link , von dem jeder weiß. Es ist ein einzigartiger Link. Wie Sie hier sehen, hat es hier einen Ausweis, den die Leute normalerweise nicht finden werden. Es sei denn, jemand hat diesen Link mit Ihnen geteilt, ähnlich wie ein Google Dog - oder Figma-Link funktioniert Die Leute können auf diese Seite gehen, aber sie können keine der Daten sehen, bis sie tatsächlich ein Konto erstellt und an der Reise teilnehmen So werden wir sehen, dass Freunde an der Reise teilnehmen. Ich als Reiseveranstalter sende diesen Link an meine Freunde und erlaube ihnen dann, Ich als Reiseveranstalter sende diesen Link an meine Freunde und erlaube ihnen dann ein Konto zu erstellen oder sich anzumelden falls sie bereits eines haben, damit sie an dieser Reise teilnehmen und am Hinzufügen von Ausgaben und dem Anzeigen von Salden teilnehmen können dieser Reise teilnehmen und am Hinzufügen von Ausgaben und dem Anzeigen von Salden teilnehmen , denen sie etwas schulden oder schulden. Ich lasse das ausklingen und dann kommen wir zurück, um zu sehen, wie es von dort aus aussieht. 26. Testen von Einladungslinks: Ähm, ich habe eine weitere Aufforderung an Cursor übergeben, als es fertig war, und ich sagte, wenn ein Benutzer auf Freunde einladen klickt, zeig es Toast, was mit anderen Worten, das bedeutet, eine kleine Nachricht , die Erfolg usw. oder Fehler anzeigt , und sagt kopierter Link, schicke ihn an ein oder zwei Freunde, das ist nur eine freundliche Nachricht und dann kopiere sie in ihre Zwischenablage, damit sie ihn versenden können Weil mir aufgefallen ist, dass es nicht funktioniert, wenn ich zu Freunde einladen gehe , also habe ich dafür gesorgt, dass es auch Funktionen dafür bietet. Sie können jederzeit mehrere Eingabeaufforderungen senden, um Dinge zur Warteschlange hinzufügen zu können Dinge zur Warteschlange hinzufügen zu können , sodass der KI-Agent, sobald er eine Sache erledigt hat, auch an einer anderen Sache funktioniert Natürlich können Sie Agenten parallel ausführen, indem Sie einen neuen Agenten erstellen und mehrere Agenten parallel ausführen lassen Ich mache das gerne, wenn ich an etwas Komplizierterem arbeite . Dieses Projekt ist so einfach , dass wir nur eins nach dem anderen ausführen können. Ordnung. Lass es uns testen. Wir gehen hier rüber und schauen uns das gleich an, auch wenn das nicht meine Reise ist, sondern eine Reise, auf die ich über ein anderes Benutzerkonto zugegriffen habe. Ich kann tatsächlich an der Reise teilnehmen. Wenn ich also auf Joint Trip Boom klicke, kann ich alle Informationen sehen und sogar Ausgaben hinzufügen. Da haben wir's. Dieser Benutzer heißt Tim Cook, also kann ich die Kosten hier sehen. Wenn ich hier 20 hinzufüge, kannst du sehen, dass es genauso schön aufgeteilt ist, wenn ich Prozentzahlen mache. Der Prozentsatz funktioniert nicht richtig. Es muss prozentual berechnet werden, also wird es diese Felder in Prozent ändern. Das Gleiche für den Dollar und das Gleiche von Tag zu Tag. Offensichtlich braucht es etwas Arbeit. Wir sind noch nicht hier, um etwas zu perfektionieren. Wir sind nur hier, um sicherzustellen, dass die Basis funktioniert, und dann werden wir anfangen, kleine Anpassungen vorzunehmen. Wenn ich Kosten hinzufüge, okay, diese werden hinzugefügt. Wunderschön. Es wird aufgeteilt zwischen dieser Person und dieser Person gezeigt. Auch hier und da müssen kleine Anpassungen vorgenommen werden. Ich kann sehen, dass mir 10$ geschuldet sind, also ist das nett und ich kann es als bezahlt markieren, aber das funktioniert nicht, weil wir das bisher nicht implementiert haben Wir werden sicherstellen, dass auch die Salden ordnungsgemäß umgesetzt werden Also werden wir weitermachen und das auch tun. Aber im Moment können wir sehen, dass alles gut funktioniert , sodass andere Benutzer an den Reisen teilnehmen können. Wir haben zwei Probleme mit Next JS Wenn Sie Fehler haben, kopieren Sie sie einfach wie folgt auf den Cursor und öffnen Sie einen neuen Chat und teilen Sie einfach den Fehler mit und wir werden ihn hoffentlich beheben . Das Gleiche gilt für diesen. Das werde ich in einem neuen Chat machen. Ich werde es diese Fehler beheben lassen. Du arbeitest auch an deinen Funktionen und dann kommen wir in der nächsten Vorlesung zurück, um an Salden zu arbeiten, sodass die Leute ihre Salden sehen können und es ist intelligent und berechnet oder vereinfacht die Schulden automatisch oder vereinfacht ähnlich wie es Spitwise Sobald das fertig ist, werde ich ein paar kleine Änderungen vornehmen Ich komme zurück und erkläre die Änderungen, die ich vorgenommen habe. Wir können übrigens sehen, dass diese Fehler verschwunden sind , das ist also nett. Aber im Moment denke ich, dass wir so ziemlich fertig sind. Wenn ich zu allen Reisen gehe, kann ich mir diese Reise hier ansehen. Das ist nicht richtig, weil dort nur du steht, aber es sollte eigentlich sagen wie viele Personen an dieser Reise teilnehmen, weil nicht nur ich jetzt, es sind dieser Reise teilnehmen, weil nicht nur ich jetzt, drei Mitglieder, heißt es, obwohl es zwei sein sollten. Auch hier und da kleine Fehler. Notieren Sie sich alle Fehler , die Sie sehen. Wenn Sie Ihre App auf diese Weise testen, notieren Sie sich alle auftretenden Probleme, damit Sie sie nacheinander beheben können . Ähm, das ist das Beste, was man tun kann. Versuche nicht, alle Probleme auf einmal zu lösen. Cursor könnte die Dinge noch mehr durcheinander bringen, ähm, aber ich habe eine Liste von Dingen zu erledigen, einschließlich, wissen Sie, ein besseres Format, um die Aufteilung zwischen einem besseren Symbol hier anzuzeigen, also dieses Symbol könnte sich je nach Ausgabennamen ändern, ähm, wissen Sie, im Moment erlaubte es mir, eine Ausgabe hinzuzufügen, ohne zu sagen, wofür sie gedacht war. Also, hier gibt es einiges zu korrigieren, wenn es um Fragen geht, zum Beispiel, warum es drei Mitglieder ausgewählt hat. Ich werde zurückkommen und diese Änderungen ganz am Ende vornehmen. Schließlich möchte ich vor Abschluss unseres MVP auch sicherstellen, dass die App auch für Mobilgeräte optimiert ist , falls Nutzer versuchen, auf dem Handy darauf zuzugreifen, was sie bei einer App wie dieser sicher tun werden Möglicherweise müssen wir auch daran einige Anpassungen vornehmen. Lassen Sie uns zurückkommen, an den Salden arbeiten, sicherstellen, dass die Funktionalität funktioniert, und dann mit kleinen Korrekturen und mobilen Displays fortfahren. 27. Guthaben hinzufügen: Zurück in der App habe ich einen weiteren Benutzer erstellt und dort eine weitere Ausgabe hinzugefügt. Jetzt ist mein Guthaben Null , weil ein Benutzer mir 10$ schuldet, der andere, ich schulde 10$ Jetzt möchte ich sicherstellen, dass diese Saldofunktion funktioniert und die Leute Dinge tatsächlich als bezahlt markieren können Ich möchte sicherstellen, dass es vereinfachte Schulden gibt, sodass wenn Benutzer sich gegenseitig etwas schulden, , wenn Benutzer sich gegenseitig etwas schulden, vereinfacht wird, wer wen bezahlen muss , sodass die Leute überall keine Transaktionen oder Überweisungen tätigen müssen , und es wird einfach vereinfacht, wer wem schuldet, um die Anzahl der erforderlichen Transaktionen zu reduzieren. Natürlich gibt es noch andere Dinge, die ich reparieren möchte, aber vorher gehe ich hier zu Cursor, öffne einen neuen Chat und wir werden sagen, ich möchte, dass die Balance funktioniert und funktioniert. So können Nutzer damit verfolgen, ob sie für jeden Nutzer, dem sie Geld schulden oder dem sie Geld schulden, als bezahlt markieren für jeden Nutzer, dem sie Geld schulden oder dem sie Geld schulden, als bezahlt Ich möchte auch, dass die Saldenberechnung vereinfacht wird , sodass automatisch berechnet wird , wer welchen Betrag zahlen muss, um die geringste Anzahl von Transaktionen oder Überweisungen zu begünstigen , die Nutzer während der Reise untereinander tätigen müssen Füge oben rechts neben den Salden einen Schalter hinzu, der besagt, dass die automatische Berechnung aktiviert ist Wenn sie es ausschalten, wird angezeigt, wie viel jedem einzelnen Benutzer geschuldet wird oder was er dem Benutzer schuldet Ganz einfach, ich sage Ihnen, dass Sie das funktionstüchtig machen und , dass Sie das funktionstüchtig machen in der Datenbank nachverfolgen sollen, wer wen bezahlt hat, sodass es hier für den Benutzer sichtbar sein kann . Wenn ich zum Beispiel diesen Benutzer hier bezahlt habe , wird das nachverfolgt Oder ich denke, in diesem Fall kann ich sagen, dass Mark bezahlt hat, wenn der Benutzer mich bezahlt hat. Das Gleiche gilt für diesen, behalten Sie Überblick und machen Sie es lebendig, und vereinfachen Sie dann auch die Schulden, sodass , wenn Benutzer sich gegenseitig etwas schulden, wieder die geringste Anzahl von Überweisungen erforderlich ist, genau wie bei der Aufteilung. Das sind zwei Änderungen, die ich vorgenommen habe. Mal sehen, wie sie es machen. den Cursor im Auge, während er etwas tut , denn manchmal merke ich , dass er versucht, etwas Neues zu tun. Ich habe es gebeten, sicherzustellen, dass der kostenpflichtige Button hier funktioniert, und ich wollte eine neue Liste erstellen , die wir nicht einmal benötigen. Jetzt sind die automatischen Taschenrechner aktiviert und wenn ich bei diesem anderen Benutzer etwas sehe, funktioniert es, weil es momentan ausgeschaltet ist und ich sehe, dass mir diese beiden Leute jeweils 10$ schulden Aber wenn ich Automatisch berechne, zahlt mir diese Person 20 Dollar und ich bin zufrieden. Das funktioniert, das ist gut, aber wir müssen sicherstellen, dass die gezahlte Mark auch funktioniert. Es heißt, es funktioniert jetzt, mal sehen. Es ist einfach von dort verschwunden. Das ist interessant. Wir werden dafür sorgen, dass die Karten nicht verschwinden. Ich habe dort zu früh gesprochen. Es arbeitet noch an dieser Funktion, also werden wir ihr jetzt etwas Zeit geben . Wir sehen, dass das jetzt funktioniert. Ich kann diese Zahlungen rückgängig machen und sie als bezahlt markieren. Es gibt einige Probleme beim Duplizieren der Karten Ich werde sicherstellen , dass es tatsächlich dieselbe Karte behält und diese nur ändert diesen Prozess durchlaufe, stelle ich auch fest, dass es hier eine UX-Lücke gibt , die verbessert werden könnte. Ich habe Split Wise unzählige Male benutzt und eines der Dinge ist, dass man nie weiß, wann man handeln muss. Wann solltest du eigentlich anfangen, andere Leute zu bezahlen. Ich denke darüber nach, eine Schaltfläche zur Abrechnung hinzuzufügen , mit der der Eigentümer der Reise interagieren kann. Sie haben eine Schaltfläche mit der Aufschrift , ähm, abrechnen, wodurch die Reiseaktivität geschlossen wird , sodass die Leute keine Ausgaben mehr hinzufügen können. Dann wird jedem Teilnehmer eine E-Mail geschickt, wie viel er genau wem auf diese Weise schuldet. Sie müssen nicht einmal in die App gehen, um es zu sehen und sie können einfach einen einfachen Button in der E-Mail haben , auf dem steht, dass Mark bezahlt hat. Ich werde an der nächsten Vorlesung arbeiten und dann sicherstellen , dass der gesamte Kreislauf geschlossen ist bevor ich zurückkomme und nur noch ein paar Probleme repariere , die in der App sind, und dann sollten wir startklar sein. 28. Wir kommen zum Ende.: Ordnung. Hier sind wir. Ich habe Cursor angewiesen, die Schaltfläche „ Bereit zur Abrechnung“ hinzuzufügen. Als Besitzer dieser Reise kann ich sie jetzt als „ Bereit zur Abrechnung“ kennzeichnen. Da haben wir's. Es ist bereit, sich zu einigen. Ich kann hier keine Transaktionen mehr hinzufügen und auch niemand anderes in der Reise und die Teilnehmer können sagen, was sie tun müssen. Hier ist ein Benutzer, der sagt, dass Sie alles geklärt haben. Unglaublich. Hier ist noch einer, der besagt, dass Sie diesem Benutzer 20$ schulden Da haben wir's. Das funktioniert jetzt ziemlich gut für einen MVP, es ist sehr gut Wir haben hier eine Schaltfläche zum Rückgängigmachen, falls Sie dies benötigen. Als Nächstes habe ich eine Liste mit all den kleinen und größeren Korrekturen zusammengestellt , an denen ich arbeiten möchte. Offensichtlich wäre das zu viel für mich , als dass wir das zusammen tun könnten, und es ist ein bisschen überflüssig weil ich diese UX-Notizen der Benutzeroberfläche einfach in Cursor einspeisen werde diese UX-Notizen der Benutzeroberfläche , damit es sie nacheinander repariert . Dann werde ich testen, sicherstellen, dass es funktioniert, und versuchen, nicht zu viel Zeit damit zu verbringen. Natürlich ist es wichtig, keine fehlerhaften Produkte zu versenden. Aber für mich werden diese wahrscheinlich höchstens ein paar Stunden dauern, sodass ich bis Ende des Tages eine funktionierende Version von Tripvela habe und dann werden wir zurückkommen und lernen, wie wir unsere App tatsächlich über Verso pushen können , damit sie von der Produktion lebt , sodass die Leute unsere Domain besuchen und unsere Anwendung sehen und sich auch dafür registrieren können unsere Domain besuchen und unsere Anwendung sehen und sich auch dafür registrieren Nun, eine wichtige Sache, die wir noch nicht implementiert haben, ist auch Die Möglichkeit, Benutzern zu ermöglichen, für dieses Produkt zu bezahlen. Wir werden tatsächlich daran arbeiten , wenn wir unsere Landingpage in den folgenden Vorlesungen oder Modulen zusammenstellen , sodass der Benutzer an dieser Stelle auf der Landingpage bezahlen kann, und dann sorgen wir dafür dass die Integration stattdessen im Wesentlichen funktioniert. Es wird ein bisschen zu viel sein, dies derzeit zu tun , da wir auch die App zusammenstellen. Machen Sie also dasselbe, fassen Sie Ihre Seiten zusammen, denen Ihre Funktionalität die wichtigsten ist , und machen Sie sich dann Notizen über kleine Dinge, die Ihnen unterwegs auffallen. Sie können Ihre App vorerst auch ein oder zwei Freunden auf Ihrem Computer zeigen ein oder zwei Freunden auf Ihrem Computer , um auch deren Feedback zu erhalten und vielleicht bemerkt einer von ihnen etwas, das Sie verpasst haben. Aber es ist auch eine gute Übung. Wenn Sie dann bereit sind, kommen Sie zurück und wir fahren mit unserem nächsten Abschnitt fort , der sich mit Landingpage, Marketing und Zahlungen befassen wird . 29. Endgültige App-Überprüfung: Ordnung. Ich habe ein paar Stunden damit verbracht, das alles zu reparieren und für den Versand vorzubereiten. Also werde ich ein paar Änderungen durchgehen, die ich vorgenommen habe. Ich habe hier einige Ladezustände hinzugefügt. Ich habe Cursor tatsächlich ein Skelett erstellen lassen , das diese Karte geladen hat. Also wenn es geladen wird, sieht es gut aus. Ich habe jetzt auch einen leeren Status, also wenn Benutzer das Dashboard aufrufen und keine Fahrten haben, ähnlich wie ich es in Figma hatte Ich habe auch ein Logo erstellt. Ich habe das Logo und den Namen hier oben platziert. Erstellen einer neuen Reise ist so ziemlich dasselbe außer dass ich das Datumsfeld hier geändert habe, um es ein bisschen schöner zu machen und wir zu einer Reise übergehen , die bereits existiert Also habe ich hier ein paar Dinge hinzugefügt, die Möglichkeit, alle Personen als Teil der Reise zu sehen, die Saldokarten funktionieren jetzt alle und die Ausgaben haben alle benutzerdefinierte Symbole, und die Ausgaben haben alle die auf den Ausgaben basieren Wenn Sie kein Symbol finden können, wird es einfach das Dollarzeichen wie dieses verwenden. Das Hinzufügen von Ausgaben funktioniert jetzt. Ich habe hinzugefügt, wer bezahlt hat, sodass Sie den Benutzer, der bezahlt hat, tatsächlich ändern können. Sie können das Datum ändern und jetzt funktionieren all diese Funktionen einwandfrei. Die Spaltungen machen Sinn. Wenn ich 20$ mache, ergibt alles Sinn Du kannst es sogar tagsüber tun. Das ist gut für Dinge wie Hotels, Airbnbs, wo Sie es nach Tagen aufteilen möchten Ja, und dann kannst du diese Kosten hinzufügen. Wenn du Ausgaben hinzufügst, musst du sicherstellen, dass du sagst, wofür sie bestimmt waren. Nehmen wir an, ich habe 200$ für eine Hotelanzeige ausgegeben und dann bekomme ich 150 zurück und ich kann sehen, wer dazwischen war all den kleinen Änderungen habe ich die Gesamtausgaben für diese Reise hinzugefügt, den Snavbr ein wenig angepasst und ein Drop-down-Menü für das Profil hier oder das Profil-Dropdown hinzugefügt das Profil hier oder das Profil-Dropdown Dann habe ich auch einige Änderungen für Mobilgeräte vorgenommen. Auf dem Handy sieht es jetzt auch gut aus und lassen Sie mich Ihnen nur zeigen, dass dies nur dazu dient, Ihnen auf dem Handy zu zeigen, wie es aussieht. Es ist jetzt mobilfreundlich. Auch hier habe ich jedem einzelnen Stück für Stück Dinge gegeben. Ich sagte für Mobilgeräte, mach das Folgende und jetzt kannst du sehen, dass alle Karten gut aussehen. Was die App selbst angeht, sie ist fertig. Ähm, obwohl wir noch keine Landingpage haben und wir eine Landingpage benötigen, bevor wir das Ganze durch die Produktion bringen und es den Nutzern ermöglichen, sie zu benutzen. Das werden wir im nächsten Modul tun, um zurückzukommen und tatsächlich damit zu beginnen, mehr Marketingressourcen zusammenzustellen , einschließlich der Landingpage und der Möglichkeit, und der Möglichkeit Zahlungen von Benutzern für diese App einzuziehen , bevor wir sie tatsächlich live schalten können , damit die Leute sie nutzen können. Aber insgesamt habe ich die App getestet. Sie funktioniert gut und ich ermutige Sie, dasselbe mit Ihrer App zu tun . Sobald Sie bereit sind mit mehr Marketingmaterial zu beginnen, sehe ich Sie in der nächsten Vorlesung. 30. Überprüfung der Landingpage: Stelle meine Landingpage zusammen, die ich für Tripvela, meine App zur Erfassung von Reisekosten, verwenden werde meine App zur Erfassung von Reisekosten Ich nehme mir etwa einen Tag Zeit, um das zusammenzustellen, und ich werde durchgehen, wie ich der Vorlage, die ich vorgestellt habe , gefolgt bin und wie ich mich für die Elemente entschieden habe , die ich hier habe Das Wichtigste zuerst: Ich habe wirklich einprägsamen H-One-Text hinzugefügt, und genau das empfehle ich Ihnen, erneut zu tun Ihr Heldenbereich ist einer der wichtigsten Abschnitte, daher sollten Sie sicherstellen, dass Sie genau das Problem erwähnen, das Sie für Kunden lösen möchten genau das Problem erwähnen, das Sie für Kunden lösen Also, weißt du, ich habe meine Nummer geschrieben, um über die Art von Aufwand zu sprechen , die Ausgaben auf Reisen aufzuteilen Also habe ich ohne großen Aufwand die Reisekosten aufgeteilt. Und dann erklären Sie im Untertext ein bisschen mehr darüber, Sie wissen schon, was dieses Produkt macht Also habe ich die geteilten Ausgaben nachverfolgt und sofort abgerechnet , sodass sich jeder darauf konzentrieren kann, das zu genießen. Und dann kannst du deine erste Reise planen. Das ist der wichtigste Aufruf zum Handeln. Benutzer werden tatsächlich zur Anmeldeseite weitergeleitet, um ein Konto zu erstellen. Eine nette Grafik hier an der Seite, eine nette kleine Animation hier, um verschiedene Reisen zu zeigen , hier kann man Leute sehen, die für eine Reise ausgeben. Ich spreche wirklich genau darüber, was das Produkt ist und was das Problem ist. Dann gehst du hier runter und liest die Problemstellung. Gehen Sie in eine Gruppe Die Ausgaben häufen sich schnell, eine Person bezahlt das Abendessen, eine andere bucht Tickets, jemand anderes bezahlt den Uber und so erinnert sich niemand daran, wer was schuldet Das ist eine wahre Sache , die auf Reisen häufig passiert und daher spricht es wirklich die Emotionen des Benutzers und die Erfahrung an , die er gemacht hat Dann habe ich die Lösungserklärung. TriplLA hilft Ihnen dabei, den Überblick zu behalten , damit Sie die Reise genießen können. Auch hier hilft dir die App, den Überblick zu behalten, sodass du dich stattdessen auf die Reise konzentrieren kannst So lädst du Freunde zu deiner Reise ein, richtest eine Reise ein und teilst den Link mit deinen Freunden und deiner Familie. Hier gibt es eine Beispielreise und ich werde dir das gleich zeigen , füge Ausgaben hinzu. Hier ist ein Beispiel für eine Ausgabe. Fügen Sie Ausgaben zu Ihrer Reise hinzu, behalten Sie den Überblick über die Transaktionen und zahlen Sie dann hier unten ab. Nochmals, nette kleine Hover-Animationen. Sie müssen das nicht auf Ihrer Landingpage tun , aber weil ich Design als Unterscheidungsmerkmal zu meinem Produkt verwende , ähm, verwende ich hier einige nette Animationen und Mikrointeraktionen Auch hier gilt: Begleichen, schauen, wem was schuldet, Mark hat bezahlt, wenn Sie im Quadrat sind, und sorgen Sie Bevor ich Ihnen hier eine Beispielreise zeige, gehe ich hier runter und zeige Ihnen Nochmals, ein kleiner Pausenabschnitt, Kosten aufteilen, abrechnen, keine umständlichen IOU-Chats und dann noch ein Aufruf zum Handeln, erstellen Sie Ihre Wie Sie sehen können, sind die Aufrufe zum Handeln sehr aufeinander abgestimmt Plane deine erste Reise, erstelle deine erste Reise rund um einen zentralen Aufruf zum Handeln. Ich habe nicht 1 Million verschiedene. Diese Seite, die du in der Navigationsleiste siehst, gehe zu meinen Reisen, wird nur angezeigt, weil ich bereits als Benutzer angemeldet bin, sonst würde es nur „Anmelden“ oder „Einloggen“ heißen. Und dann habe ich mir die Preise ausgedacht , basierend auf dem, worüber wir uns unterhalten. Ich entschied mich für zwei Pläne, einen pro Reise. Wenn es also Kunden gibt, die das einfach nutzen und ausprobieren wollen , können sie einfach zehn Dollar pro Reise zahlen und dann unbegrenzt bezahlen, anders als die anderen Konkurrenten auf dem Markt, ähm, und sich dann mit so vielen Freunden wie möglich teilen. Es gibt kein Limit, oder sie zahlen nur einmal 40$, dann haben sie unbegrenzt viele Fahrten für immer, alles in diesem Plan, plus keine Gebühren pro Fahrt, wieder unbegrenzt, Ausgaben, also das ist ein hervorragendes Preis-Leistungs-Verhältnis Jemand, der sich das anschaut und viel reist, denkt wahrscheinlich, wenn ich mehr als viermal in meinem Leben reise und die Ausgaben mit Freunden teile, was genau die Zielgruppe anspricht, die ich will, dann bekommen sie mit Sicherheit dieses Angebot statt dieses. Und dann schließe ich aufgrund einiger häufig gestellter Fragen. Also habe ich mir wieder ein paar Fragen ausgedacht, die vielleicht die Gedanken der Leute übersteigen. Wann markiere ich jemanden als bezahlt? Sind andere Personen oder müssen andere Personen zahlen, um Mitglied zu werden? Gibt es eine kostenlose Testversion? Und so habe ich all diese nacheinander beantwortet. Ich ermutige Sie, dasselbe für Ihren FAQ-Bereich zu tun. Es gibt natürlich eine Seite mit Nutzungsbedingungen, eine Datenschutzseite, die ich noch nicht eingerichtet habe, aber Sie könnten dafür verschiedene Ressourcen nutzen, z. B. sich die Bedingungen der Konkurrenz ansehen oder sich diesbezüglich auch mit ChatGPT beraten Ich überlasse das ganz Ihnen, denn das sind Kleingedruckte und sie sind ein bisschen wichtig, für manche sogar sehr, je nachdem , welche Art von App Sie erstellen Ich überlasse das dir und ich werde weitermachen und sie machen. Ähm, außer dem, was für diese Landing Page benötigt wird , um sie funktionsfähig zu machen oder zwei weitere Dinge. Zum einen richten Sie Favicon und Social Share Image so ein, dass Benutzer die Metadaten und alles andere korrekt sehen Im Moment sagt einfach Tripvela, was großartig ist. Aber auch hier ist das Symbol generisch, es ist nur ein versales Wir werden sie in der nächsten Vorlesung einrichten , weil sie mit Sicherheit für Ihr Projekt gelten werden , ebenso wie ein Bild zum Teilen in sozialen Netzwerken, also ein Bild, das jedes Mal angezeigt wird, wenn Sie Ihren Link an Personen senden, denen ich eine wenn Sie Ihren Link an Personen senden Nachricht sende, oder auf LinkedIn und sozialen Medien Da wir später etwas Marketing betreiben werden, ist es wichtig, dass du sie richtig einrichtest. Und sobald wir das getan haben, werden wir Stripe tatsächlich verbinden , sodass wir den Nutzern tatsächlich Gebühren berechnen können. Im Moment haben wir diese Zahlungssache, aber wir können den Nutzern noch keine Gebühren berechnen. Diese machen eigentlich nichts, also werden wir sie später auch mit Stripe verbinden . Ich verspreche, dir die Musterreise zu zeigen. Ich habe hier die Beispielreise nach Barcelona veröffentlicht, an der Benutzer teilnehmen können, und sie sieht genauso aus wie eine echte Reise. Sie gibt ihnen einen Vorgeschmack darauf, was sie erwarten können, vor allem, weil ich keinen kostenlosen Tarif habe. Sie können sich ein Bild davon machen, wie das Hinzufügen von Ausgaben aussieht, und sie können sogar damit herumspielen und auch Ausgaben hinzufügen genau wie in der echten App. Aber das ist natürlich nicht mit dem Backend verbunden. All das habe ich Cursor als Scheinwebsite machen lassen, nichts hier wird gespeichert. Es ist hauptsächlich so, dass die Leute damit herumspielen und sich ein Bild davon machen können, wie die App aussieht. Ich denke, das ist wirklich wichtig, um ihnen einen Vorgeschmack auf die App zu geben . Wir werden zurückkommen und über den letzten Feinschliff an der Landingpage sprechen , der erforderlich ist, bevor wir weitermachen und mit Marketing und Vertrieb beginnen. 31. Stripe-Einrichtung: Wählen Sie auf unserer Landingpage Zahlungen aus Wir werden Stripe verwenden, um Zahlungen zu verarbeiten. Das ist der einfachste Weg , das zum Laufen zu bringen. Wenn es darum geht, ein Konto einzurichten, ist dies der schnellste und auch einfachste Weg, Zahlungen online abzuwickeln. Sobald Sie also ein Konto über stripe.com erstellt haben, Ihnen möglicherweise Fragen wie diese gestellt, um die Dinge einzurichten . Sie müssen sie nicht beantworten Sie können sie überspringen, aber Sie können wählen, ob Sie wiederkehrende Zahlungen oder nicht wiederkehrende Zahlungen haben Unsere Zahlungen sind nicht abonnementbasiert, also wählen wir einmalige Zahlungen aus und klicken dann auf Weiter, und wir werden hier weitermachen Nun wurden Sie gefragt, Sie zu einem Sandbox- oder Live-Konto wechseln möchten Live-Konto ist Ihr Produktionskonto für Ihre eigentliche App, wenn sie für Benutzer live ist Sandbox dient der Testumgebung. Wir werden vorerst zu Sandbox gehen. Dann werden Sie weitermachen und nach API-Schlüsseln für Entwickler suchen In der Regel wird dies auch hier auf Ihrer Homepage angezeigt. Machen Sie also weiter und holen Sie sich von dort zwei Schlüssel , die Sie zu Ihrer Umgebungsdatei hinzufügen können. Einer ist der API-Schlüssel. Der andere ist geheim. Auch hier möchten Sie sicherstellen, dass diese geschützt sind und nur zu Ihrer Umgebungsdatei hinzugefügt werden. In der Beispieldatei hier werde ich den Stripe-API-Schlüssel haben. Sie haben einen Stripe-API-Schlüssel und Stripe nennt ihn dann Stripe Secret. Sie möchten fortfahren und sicherstellen , dass diese in Ihrer tatsächlichen Umgebungsdatei hinzugefügt werden , und dann fügen Sie diese Werte hinzu, damit dies funktioniert. Nehmen Sie sich dafür einen Moment Zeit. Nachdem ich diese Schlüssel hinzugefügt habe, werde ich Cursor bitten, Stripe zu implementieren, um Zahlungen für die beiden Pläne auf unserer Homepage zu verarbeiten . Ich werde ihm nur erklären , dass der Tarif pro Reise pro Reise gilt und 999$ kostet, sodass Benutzer nur eine einzige Reise erstellen können. Wenn Nutzer versuchen, mehr Reisen zu erstellen, leiten Sie sie auf die Stripe-Zahlungsseite weiter und achten Sie darauf, dass Sie im Rahmen des Benutzermodells die Gutschriften pro Fahrt im Auge behalten . Was ich Ihnen hier erzähle Informationen über den ersten Plan , der pro Reiseplan gilt. Er kostet 999$ und ermöglicht es dem Benutzer, Er kostet 999$ und ermöglicht es nur eine einzige Reise zu erstellen. Und wenn sie versuchen, mehr Reisen zu erstellen, wird die Zahlungsseite erneut geöffnet, auf der sie bezahlen und, Sie wissen schon, eine weitere Reise kaufen können. Ich sage Ihnen, dass Sie das Reiseguthaben im Auge behalten sollen. Also, wie viele Reisen Menschen auf dieser Grundlage als Teil des Benutzermodells unternehmen können . Dann der andere Plan, ein Plan, ist lebenslang und kostet 39 99$ und ermöglicht es Benutzern, unbegrenzt viele Fahrten auf ihrem Konto zu erstellen. Achten Sie darauf, dies auch im Benutzermodell im Auge zu behalten . Ich werde nur sicherstellen, dass es weiß, dass Benutzer keine Reisen erstellen können, ohne über Guthaben oder lebenslangen Zugriff zu verfügen. Ordnung. Ich werde das schicken und noch einmal kurz darüber sprechen, was ich getan habe. Ich habe die beiden Pläne, die ich habe, und die Preise dafür erklärt und sie gebeten, Stripe für diese zu implementieren. Ich habe spezifische Anweisungen gegeben um sicherzustellen, dass das Benutzermodell aktualisiert ist wiederum die Art und Weise, wie wir Informationen über die Benutzer speichern Informationen über die Benutzer und das können Sie in den Modellen hier sehen. Also das Benutzermodell und Sie können sofort sehen, dass es aktualisiert wurde, sodass Reisegutschriften hinzugefügt wurden. Also pro Fahrt würde diese Zahl hier aktualisiert werden. Wir wissen also, wie viele Reisen Menschen aufgrund der vielen Credits, die sie haben, erstellen können. Oder wenn sie lebenslangen Zugriff haben, ist es hier ein boolescher Wert, der erstellt wurde , der wahr oder falsch ist und es Ihnen ermöglicht, den Überblick zu behalten Ich werde diese Datei behalten und sicherstellen , dass Sie den Server tatsächlich beenden und später erneut ausführen, wenn die App das Modell wechselt Sie den Server tatsächlich beenden und später erneut ausführen, wenn die App das Also werde ich warten, bis es fertig ist , und es dann erneut ausführen. Mir wurde gesagt, stellen Sie sicher, dass Sie Ihre Stripe-Werte hinzufügen. Das haben wir schon gemacht, das ist also gut. Dann werden wir weitermachen und die API-Skripte dafür hinzufügen. Es sieht so aus, als ob die Implementierung fertig ist. Ich werde jetzt weitermachen und die Implementierung testen. Als Benutzer, der keine Credits hat, werde ich versuchen, eine neue Reise zu erstellen. Lass uns Bali machen und einfach auf Reise erstellen klicken. Du benötigst einen Plan , um eine Reise zu erstellen, pro Reise zu kaufen oder lebenslangen Zugang zu erhalten. Der einzige Nachteil dabei ist, dass die Optionen hier realistisch angezeigt werden, anstatt mir nur sagen, dass ich die Reisegutschriften benötige Lassen Sie uns nun von der eigentlichen Homepage aus testen, ob diese funktionieren. Es ist ein Fehler aufgetreten, also werde ich weitermachen und sicherstellen, dass ich diesen Fehler zurückgebe. Was ist mit Lebenszeit? Das Gleiche. Auch hier, falls Fehler auftreten, geben Sie sie an Cursor zurück und lassen Sie sie analysieren. Es sieht also so aus, als ob es behoben wurde. Sieht so aus, als ob der Fehler tatsächlich bei mir lag. Ich habe mich gebeten, die Stripe-Preis-ID pro Fahrt und auch die Lebensdauer der Preis-ID in der lokalen Umgebungsdatei festzulegen Fahrt und auch die Lebensdauer der Preis-ID . Wir müssen diese Pläne tatsächlich in Stripe erstellen. Es gibt Ihnen die Anweisungen, gehen Sie zum Stripe-Dashboard, Produktkatalog und zum Produkt. werden wir tun. Wir gehen zum Produktkatalog, erstellen ein Produkt und geben diesem einen Namen pro Reise. Es handelt sich um eine einmalige Zahlung von 999$ und wir werden das Produkt hinzufügen und sicherstellen, dass Sie in dieses Produkt gehen und die Preis-ID tatsächlich hierher kopieren. Genau wie in meiner Beispieldatei hier drüben. Ich werde das kopieren und sicherstellen, dass ich diese Preis-ID in diese Umgebungsdatei einfüge . Nehmen Sie sich dafür eine Sekunde Zeit. Zurück bei Stripe werde ich auch ein Produkt fürs Leben kreieren und es zu einem Unikat von 39 99 machen. Produkt, gleiche Idee. Kopiere die Preis-ID und zurück in die Umgebungsdatei Ich füge sie ein und stelle sicher, dass deine Werte mit einem Preisunterstrich beginnen Jetzt, wo das an Ort und Stelle ist, werde ich das ausprobieren. Da haben wir's. Jedes Mal, wenn Sie mit einem Stripe-Konto testen, können Sie einfach 42, vier, zwei, zwei eingeben, es mehrmals für die Kreditkarte wiederholen, einen zufälligen Ablauf festlegen und sofort mit CVC-Zahlung bezahlen Hier ist die Sache. Im Moment haben wir das Stripe-Konto verbunden und den Preis oder die Tarife, die wir haben, mit den Preis oder die Tarife, die dem Stripe-Konto und unserem Produkt verknüpft. Jetzt kann unser Produkt diesen Link tatsächlich generieren , damit die Leute den Plan kaufen können. Aber wir benötigen einen sogenannten Webhook oder Stripe-Webhook, damit wir unsere Anwendung und unsere Anwendungen tatsächlich verstehen oder im Backend haben, verstehen und uns anhören können , wenn Stripe ihm mitteilt, dass ja, diese Person tatsächlich einen Plan gekauft hat Also haben wir den ersten Schritt miteinander verbunden. Wir müssen jetzt zurückkommen und den Webhook, der auch hier erwähnt wird, tatsächlich verbinden , wie Sie sehen, an einem Webhook-Endpunkt sollte er ungefähr so aussehen Und fügen Sie dieses Ereignis hinzu, und Sie müssen auch ein Stripe-Webhook-Geheimnis in Ihrer Umgebung, einer lokalen Datei, festlegen Stripe-Webhook-Geheimnis in Ihrer Umgebung, einer lokalen Datei, Da wir das lokal auf unserem Computer testen und unseren Produktionsserver noch nicht haben, müssen wir den Webhook-Listener auch lokal verwenden, um von Stripe darauf hinzuweisen, dass ein Benutzer tatsächlich Pläne erstellt oder gekauft hat Kommen wir im nächsten Abschnitt zurück, um den Stripe-Webhook zu implementieren 32. Stripe-Webhook: Also haben wir Stripe verbunden, und jetzt müssen wir tatsächlich eine Verbindung zum Webhook herstellen. So weiß unser Backend im Wesentlichen , So weiß unser Backend im Wesentlichen , wenn Benutzer Pläne über Stripe kaufen Denn im Moment, wenn wir Leuten tatsächlich ermöglichen, einen Tarif zu erstellen, leiten wir sie zu Stripe weiter, und das ist eigentlich die Website von Stripe Es ist nicht unsere Website. Wir wissen nicht, wann die Zahlung eines Benutzers tatsächlich erfolgt, bis Stripe uns mitteilt, dass dies über einen sogenannten Webhook geschieht Wenn Sie hier zu Entwicklern auf Stripe gehen, gehen Sie zu den Webhooks Sie können von hier aus tatsächlich einen Webhook einrichten oder mit einem lokalen Listener testen Vorerst werden wir mit einem lokalen Listener testen. Folgen Sie den Anweisungen hier und stellen Sie sicher, dass Sie sich anmelden . Das alles können Sie über Ihr Terminal hier unten tun Das alles können Sie über Ihr Terminal hier unten Folgen Sie dem Link vom Terminal aus und klicken Sie auf Zugriff zulassen. Stellen Sie dann sicher, dass Sie diese Zeile hierher kopieren und sie auch in Ihrem Terminal ablegen. Wenn Sie das jetzt in Ihr Terminal einfügen, erhalten Sie ein Webhook-Geheimnis Sie möchten sicherstellen , dass Sie auch ein Stripe-Webhook-Geheimnis hinzufügen , das etwa gleich ist, und dann Ihr Webhook-Geheimnis eingeben, das wie folgt beginnt: WHSEcUnderscore usw. und dann Ihr Webhook-Geheimnis eingeben, das wie folgt beginnt: WHSEcUnderscore Nehmen Sie sich einen Moment Zeit, um es zu finden und das zu tun. Sobald ich das getan habe, bin ich hier auf ein Problem gestoßen. Wenn Sie also auf Probleme stoßen, suchen Sie einfach dieses Stripe-Terminal, senden Sie es und sagen Sie, dass Cursor Fehler gemeldet hat. Es wird Sie bitten, weiterzumachen und zu verstehen was schief gelaufen ist, und Ihnen sagen, was Sie tun müssen. Noch ein Problem, aber es hat erklärt, dass wir tatsächlich sicherstellen müssen, dass es sich um den Localhost Dot Colon 3.000 slash APISISH Stellen Sie sicher, dass Sie genau das befolgen. Lass uns das noch einmal versuchen. Ich habe mein Geheimnis erneut aktualisiert, und wir werden es ein anderes Mal erstellen. Mal sehen, ob es diesmal funktioniert. Siehst du, wir haben 200 von unserer API zurückbekommen . SipeSash Webhook bedeutet, dass es Sie können in unseren Benutzerdaten auf Mongo sehen, ich dieses Reiseguthaben jetzt Das ist nur passiert, weil der Stripe-Webhook funktioniert hat, was bedeutet, dass du jetzt tatsächlich eine Reise erstellen kannst . Lass uns das versuchen Ich werde einfach Bali Two Create setzen und los geht's. Jetzt habe ich diese Reise erstellt , weil ich Credits hatte. Ich aktualisiere die Credits oder wenn ich meine Benutzerdatenbank aktualisiere, da Sie sehen können, dass das Reiseguthaben aufgebraucht ist. Das funktioniert jetzt richtig. Wenn ich zurückgehe und versuche, eine weitere Reise wie Bali Three zu erstellen , weiß es, dass ich kein Guthaben mehr habe, und leitet mich zurück zur Checkout-Seite. Ich weiß, dass das jetzt funktioniert. Ich werde auch meinen Lifetime-Plan testen, dieselbe Konfiguration, aber mit der Laufzeit sollte ich in der Lage sein, mehrere Reisen zu erstellen. Ich lasse dich das für dein eigenes Setup machen. Möglicherweise haben Sie ein Abonnement, folgen Sie den Anweisungen und dem Cursor, um das einzurichten. Wohlgemerkt, dass wir den Stripe-Webhook bisher nur so eingerichtet haben , lokal funktioniert und noch nicht in unserer Produktion Sobald wir unsere Anwendung in die Produktion gebracht haben, müssen wir zurückkommen, um unseren Produktions-Stripe tatsächlich mit der App zu verbinden Produktions-Stripe tatsächlich mit der App zu Sobald wir das getan haben, müssen wir auf Zum Live-Konto wechseln klicken und unsere Preise tatsächlich vom Test in die Produktion kopieren. Das werden wir in einer Sekunde tun, wenn wir bereit sind, unsere App zu veröffentlichen. 33. Sicherheitseinstellungen: Wir bereiten uns darauf vor, unsere App in Produktion zu bringen und es jedem auf der Welt zu ermöglichen, sie zu nutzen. Wir müssen hier noch zwei kleine Dinge tun , die aber wirklich wichtig sind. Das erste ist, dass Sie in Ihrem Projekt auf MongoDB weitermachen und sich anmelden und zu Ihrem Projekt gehen möchten Dann möchten Sie hier auf der Registerkarte Sicherheit unter Datenbank- und Netzwerkzugriff gehen Greifen Sie dann auf die IP-Zugriffsliste zu. Dies ist im Wesentlichen die Liste der IP-Adressen, die auf die Datenbank zugreifen können. Im Moment ist Ihre IP-Adresse hier enthalten, was es Ihnen ermöglicht, von Ihrem lokalen Computer aus Änderungen an der Datenbank vorzunehmen, ähm, aber die Sache ist, sobald wir live gehen, Benutzer mit unterschiedlichen IP-Adressen werden Benutzer mit unterschiedlichen IP-Adressen auf der ganzen Welt Ihre Anwendung verwenden. Ähm, das würde also nicht unbedingt funktionieren, weil dann die Datenbank nicht funktioniert und neue Einträge oder Löschungen von verschiedenen IP-Adressen erlaubt Löschungen von verschiedenen IP-Adressen Deshalb müssen Sie hier eine IP-Adresse hinzufügen und sicherstellen, dass Sie den Eintrag in der Zugriffsliste Null Punkt Null Punkt Null eingeben Also vier Nullen und dann Null. Sie möchten das bestätigen und dann sollte es hier hinzugefügt und aktiv sein Nun, das birgt natürlich ein gewisses Sicherheitsrisiko und es gibt andere Möglichkeiten, dies zu tun, aber das ist der einfachste Weg, es einzurichten. Stellen Sie einfach sicher, dass Ihr Datenbankpasswort und Ihr Benutzername sicher sind. Der, den Ihnen Mongo Di B bei der Einrichtung dieses Clusters gegeben Mongo Di B bei der Einrichtung dieses Clusters Das Wichtigste ist, dass Sie sicherstellen, dass das geschützt ist, damit niemand in Ihre Datenbank eindringen kann Eine weitere Sache, die wir in der Codebasis für unsere App tun werden, um sie sicher zu machen, ist, dass wir eine Sicherheitsüberprüfung durchführen, um sicherzustellen, dass nichts öffentlich zugänglich oder falsch ist, und sicherstellen , dass die API-Ratenbegrenzung implementiert wird, um Missbrauchern vorzubeugen, eine gründliche Sicherheitsüberprüfung aller Bend-Funktionen durchzuführen und eingeben zu lassen API-Ratenbegrenzung implementiert um Missbrauchern vorzubeugen eine gründliche Sicherheitsüberprüfung aller Bend-Funktionen durchzuführen und eingeben Dies dient nur dazu, sicherzustellen, dass Cursor noch einmal die Sicherheit Ihres Projekts überprüft und Ihre Codebasis überprüft. Es stellt sicher, dass eine Ratenbegrenzung gilt, die im Wesentlichen verhindert, dass Personen Ihren Server oder Ihre API mehrmals spammen. Auch hier gibt es viele Benutzer, und einige von ihnen könnten versuchen, Ihre Plattform zu nutzen Nun, das passiert jedem Entwickler, also stellen Sie sicher, dass Sie diese Aufforderung tatsächlich ausführen, und natürlich gibt es wahrscheinlich auch andere Eingabeaufforderungen, die Sie ausführen können , um dies sicherzustellen Aber das ist die, die IE derzeit normalerweise verwendet . Sie überprüft alles in Bezug auf Authentifizierung, Middleware und API-Routen. Lassen Sie es sein Ding machen, damit Ihr Code sicherer ist Aber bevor wir zurückkommen und unsere App tatsächlich live auf unserer Domain veröffentlichen, damit andere Benutzer sie verwenden können 34. Vorstoß zur Produktion: Ordnung. Das sind aufregende Zeiten. Wir sind endlich bereit, unsere Anwendung , an der wir so hart gearbeitet haben öffentlich ins Internet zu stellen, sodass jeder auf der Welt sie tatsächlich nutzen kann. Das ist also aufregend und wir werden das wieder tun, wie in unserem Stack erklärt. Wir verwenden Versal, um unsere Anwendung bereitzustellen Versal ist also im Grunde die Plattform, auf der unser Projekt gehostet wird, und es ist eine großartige Sie können kostenlos loslegen und auch, Sie wissen schon, die eingehenden Logs verfolgen Sie wissen schon, die eingehenden Logs Stellen Sie also sicher, dass Sie einen letzten Test Ihrer Anwendung durchführen. Stellen Sie sicher, dass sie funktioniert, senden Sie sie an Github, falls Sie dies nicht getan haben. Du meldest dich bei Verso an, erstellst ein neues Projekt und dann werden wir dich bitten, deinen Github zu verbinden Stellen Sie sicher, dass Sie Ihren Github verbinden, damit Sie Ihre Anwendung tatsächlich verbinden oder sie mit nur einem Klick auf eine Schaltfläche in Verso importieren können. Das habe ich schon gemacht Ich mache weiter und benenne diesen in Tripvela um. Dann ist hier noch eine wichtige Sache, die du tun musst. Sie müssen hier tatsächlich die Umgebungsvariablen hinzufügen , damit dies funktioniert, sobald Ihre App gepusht ist. Ich werde hier eine Pause einlegen, nur um es schnell zu erklären. Sie möchten tatsächlich in Ihre Umgebung, die lokale Datei, gehen und jede dieser einzelnen Zeichenketten kopieren . Mongo-URI, zum Beispiel, Sie werden das in den Schlüssel einfügen und dann für den Wert den Wert einfügen, der nach dem Gleichheitszeichen hier steht. Nehmen Sie sich Zeit für diesen , denn es ist sehr einfach, einen Fehler zu machen , und Sie müssen auch einige davon aktualisieren, damit sie etwas anders Mongo Wenn Sie sich zum Beispiel an unsere Entwickler-Website oder unsere Dev-Site erinnern, haben wir für Dev erstellt In Ihrer Produktion möchten Sie Slash Prod oder Production verwenden, sodass Ihre Benutzerdaten von Benutzern aus der realen Welt in einem anderen Teil des Clusters gespeichert werden als die Testdaten Und dann werden Sie weitermachen und weitere hinzufügen. auch hier daran, dass einige davon unterschiedlich sein werden. Mong wird derselbe bleiben, bis auf den letzten Teil anstelle von Dev. Stellen Sie sicher, dass es Slash Prod ist Next Auth Secret wird gleich bleiben. nächste Auth-URL ist Ihre URL, über die Benutzer auf diese Website zugreifen Stellen Sie sicher, dass Sie HTTPS eingeben, also stellen Sie sicher, dass Sie das S für sicher und dann den Schrägstrich Colin angeben sicher und dann den Schrägstrich Colin und dann Ihre eigentliche Website dort platzieren In meinem Fall wird das tripvelala.com sein, HTTPS. TripVela.com. Sie müssen am Ende keinen Schrägstrich setzen Schlüssel zum erneuten Senden ist derselbe , da Sie E-Mails von demselben Konto aus senden Die Absender-E-Mail sollte ebenfalls gleich bleiben. Sie müssen es nicht ändern. Jetzt werden die Stripe-API, Stripe-Secret und der Stripe-Webhook unterschiedlich sein In diesem Fall müssen Sie tatsächlich zu Stripe wechseln und zu Ihrem Live-Konto Wenn Sie irgendwelche Vereinbarungen haben, stellen Sie einfach sicher, dass Sie diese im Stripe-Live-Dokument überprüfen, und dann können Sie die Dinge tatsächlich kopieren . Wählen Sie aus, was Sie kopieren möchten. Wir möchten unsere Produkte kopieren. Klicken Sie auf Weiter. Dann hast du deine Schlüssel hier drüben, die du für das Live-Konto kopieren kannst, das sollte wieder hier auf Versell reingehen. Lassen Sie jetzt das Webhook-Geheimnis raus. Das machen wir in der nächsten Vorlesung zusammen. Ihre Stripe-Preisnummer pro Fahrt oder die Stripe-ID, die Sie für Ihre Zahlungsart haben , wird ebenfalls unterschiedlich sein. Stellen Sie sicher, dass Sie diese auch direkt aus der Live-Version Ihres Stripe kopieren direkt aus der Live-Version Ihres . Stellen Sie also sicher , dass Sie hier klicken und sie korrekt kopieren. Nochmals, das einzige andere, das anders sein sollte, ist ein Stripe-Webhook-Secret Das werden wir in der nächsten gemeinsamen Vorlesung tun Fahren Sie fort und geben Sie diese Variablen korrekt ein. Ich nehme mir dafür eine Minute Zeit, überprüfe sie, stelle sicher, dass Sie sie richtig eingerichtet haben , und wir sehen uns in einer Minute. Nachdem Sie alle kopiert haben, stellen Sie sicher, dass Sie auf Deploy klicken. Sobald Sie auf Deploy klicken, können Sie sehen, wie die App tatsächlich mit dem Erstellen beginnt, oder Versa beginnt, Ihr nächstes Projekt auf ihren eigenen Servern zu erstellen , und Sie erhalten eine Zusammenfassung darüber, was getan wurde. Es besteht die Möglichkeit, manchmal eine große Chance , dass Sie Fehler bekommen oder dass Sie darauf stoßen. Wenn ja, erweitern Sie das einfach, kopieren Sie diese Fehler und geben Sie sie in Cursor ein, um sicherzustellen, dass dort aktualisiert oder Änderungen vorgenommen werden. Wenn Sie das richtig gemacht haben, ist alles in Ordnung, Sie sollten eine Live-Bereitstellung haben. Sie daran, dass wir unsere Domain noch nicht verbunden haben. Eine weitere nette Sache an Versell ist, dass jedes Mal, wenn Sie zu Ihrem Github-Hauptzweig , Ihre Live-App aktualisiert wird, sodass Sie dafür nichts weiter tun müssen nichts weiter tun müssen Wenn du Änderungen an deiner App, Feature-Updates und dergleichen und auf GitHub pushst, wird deine App automatisch für Benutzer aktualisiert Stellen Sie sicher, dass sie getestet wurden, bevor Sie etwas auf GitHub pushen. Gehen wir in der Zwischenzeit zu Domains und fügen tatsächlich eine bestehende Domain zu diesem Projekt hinzu, trilala.com, und wir werden hier auf Speichern klicken. Ich habe diese Domain bereits in einer anderen App, ich werde die Domains nur in dieses Projekt verschieben Das Einzige, was Sie von hier aus tun müssen , ist sicherzustellen, dass Sie zu Ihrem Domainregister gehen . Wenn Sie Name-Chip oder Go Daddy haben, stellen Sie sicher, dass Sie dort hinübergehen und zum erweiterten DNS gehen und diese Werte hinzufügen, genau wie wir es für die Resend-Schlüssel getan haben Folgen Sie diesen Anweisungen bei Ihrem Domain-Anbieter und treffen Sie mich dann wieder hier. Stellen Sie nun sicher, dass Sie diese Einstellungen sowohl für die Version ohne WWW als auch für die Version , in der dies bereits geschehen ist, aktualisieren sowohl für die Version ohne . Anschließend können Sie versuchen, auf Aktualisieren zu klicken, sobald Sie dies getan haben Sie haben es richtig konfiguriert. Da haben wir's. Ich habe hier ein paar Probleme mit dem Design auf der Homepage, also werde ich sie in Cursor einspeisen, um sie zu beheben. Ich hoffe, Sie haben keine Probleme, oder falls doch, nehmen Sie sich Zeit, diese Probleme zu beheben , und dann werden wir zurückkommen, um den Stripe-Webhook korrekt einzurichten , damit die gesamte App ordnungsgemäß funktioniert Aber herzlichen Glückwunsch, dass Sie Ihre App veröffentlicht haben. 35. Stripe-Integration abschließen: Ein letzter Schritt, um unsere App so einzurichten , dass sie bereit ist, Zahlungen anzunehmen, besteht darin, unseren Stripe-Webhook während der Produktion einzurichten Wenn Sie sich erinnern, können wir anhand des Webhooks nachvollziehen, ob ein Nutzer tatsächlich bezahlt hat , und ihm dann das Abonnement oder den Vorteil, den Plan usw. geben. Ein Cursor- oder AI-Agent, bitte ihn, dir Anweisungen zu geben, wie du den Webhook für die Produktion deiner App einrichten Ich gebe Ihnen Schritt für Schritt, basierend auf dem, was Sie tun müssen. In meinem Fall wurde mir gesagt, dass ich diesem Schritt folgen und zum Stripe-Dashboard gehen muss . Hier ist ein Stripe-Dashboard, gehen Sie zu Entwicklern und klicken Sie dann auf Webhooks, dann möchten Sie ein Ziel hinzufügen Sobald Sie das Ziel hinzugefügt haben, ist dies der Link, den Sie möchten, aber wir benötigen ihn in einer Sekunde Für meine App muss nur die Checkout-Sitzung abgeschlossen sein. Ich suche nach dem Punkt Checkout Session Dot Completed, und schon wird er angezeigt. Für Ihre App könnte das anders sein. Dies ist das Ereignis, das der Webhook abhört. In meinem Fall wollen wir immer dann, wenn eine Checkout-Sitzung erfolgreich abgeschlossen wurde, eine Checkout-Sitzung erfolgreich abgeschlossen wurde, weitermachen und auf diesem Endpunkt darauf achten Die Endpunkt-URL ist die, die Sie von der App erhalten haben, aber Sie möchten diese natürlich durch Ihre Domain abzüglich der Trip.com-Slash-APIs als Webhook ersetzen . Dann klicke ich auf Create Destination und stelle sicher, Dann klicke ich auf Create Destination und stelle dass Sie dieses Geheimnis kopieren und dann zu Ihrem Deployment zurückkehren und zu den Einstellungen auf Erslls gehen Stellen Sie sicher, dass Sie Ihr Projekt auswählen, zu Ihren Einstellungen gehen, zu Umgebungsvariablen und dann weitermachen und Umgebungsvariable hinzufügen möchten wechseln und dann weitermachen und Umgebungsvariable hinzufügen möchten. Wenn Sie sich daran erinnern, sollte es in Ihrem Code so lauten Stripe underscore webhook underscore Stellen Sie sicher, dass Sie das kopieren und dann den Wert einfügen , den Sie von Stripe erhalten haben Klicken Sie auf Speichern und dann auf Erneut bereitstellen. Jedes Mal, wenn Sie Änderungen an Ihren Umgebungsvariablen vornehmen, möchten Sie mit der erneuten Bereitstellung fortfahren , sodass Ihrer letzten Bereitstellung dieser Umgebungsschlüssel hinzugefügt wird Dann können Sie in Ihrem Projekt den Überblick über Ihre Bereitstellungen behalten . Wir sehen, dass sie gerade erstellt werden Sobald Sie also gepusht haben, nur noch herausfinden , ob dieser Stripe-Webhook funktioniert, indem Sie eine Testzahlung Sie können entweder Ihre Kreditkarte herausziehen und verwenden oder Sie können hier in Stripe einen Gutschein erstellen, einen Gutschein für 100% Rabatt einrichten und dann sicherstellen, dass Sie Cursor anweisen Aktionscodes zu aktivieren Und sobald Sie das getan haben, können Sie einfach Ihren Gutscheincode eingeben und dann einfach testen, Ihr App-Abonnement oder Ihre Preisgestaltung funktioniert. Jetzt, wo das geklärt ist, haben wir unsere App zum Laufen gebracht. Du kannst das mit Freunden teilen. Jetzt verspreche ich, Ihnen zu zeigen, wie das OG-Bild und die Metadaten, die wir eingerichtet haben, aussehen. Wenn du also deinen Link zu deiner App in, sagen wir mal, eine Nachricht einfügst, kannst du hier sehen, dass Tripvela die Reisekosten problemlos aufteilt Jedes Mal, wenn jemand tripvela.com teilt, wird es so angezeigt, was großartig aussah Ich könnte in Zukunft die Änderung vornehmen, anstatt nur den Namen hier drüben zu haben, vielleicht habe ich eine Beschreibung dessen, was das Produkt Damit ist die Zusammenstellung unseres Produkts abgeschlossen. Der nächste Schritt besteht darin, den Leuten tatsächlich davon zu erzählen und Verkäufe zu erzielen 36. Was kommt als Nächstes?: Herzlichen Glückwunsch, dass Sie es im Kurs so weit geschafft haben. Ich möchte ein bisschen darüber sprechen was von hier aus passiert. Wo gehen wir hin? Was machst du mit deinem Produkt und wie stellst du sicher, dass du mit deinem Erfolg auf Kurs bleibst und wie Erfolg von nun an überhaupt noch aussieht? Viele Menschen gehen davon aus, dass Tausende von , nur weil sie ein Produkt auf den Markt Benutzern, nur weil sie ein Produkt auf den Markt bringen , es sofort nutzen werden. In Wirklichkeit sind die Zahlen viel geringer und es dauert länger. Abgesehen davon, dass Sie mit Ihren Fortschritten einfach mehr Patienten benötigen, müssen Sie verstehen, dass , in den nächsten Wochen oder Monaten es Ihr Ziel ist, in den nächsten Wochen oder Monaten so viel Feedback wie möglich von den ersten 50 bis es Ihr Ziel ist, in den nächsten Wochen oder Monaten so viel Feedback wie möglich von den ersten 50 bis 100 Benutzern zu erhalten, das Sie bekommen können Konzentrieren Sie sich noch nicht darauf , Tausende zu erreichen. Sprechen Sie mit diesen 50 bis 100 Benutzern, stellen Sie sicher, dass Sie Ihr Produkt verbessern , hören Sie ihnen zu und verbessern Sie sich auf der Grundlage des Feedbacks, das sie Ihnen tatsächlich geben. Das eigentliche Ziel besteht darin, Ihr Produkt in seiner aktuellsten Version mit anderen zu teilen Ihr Produkt in seiner aktuellsten Version mit und das Feedback zu nutzen um ein Produkt zu entwickeln, das Sie später auf Tausende von Benutzern skalieren können. Feedback von echten Benutzern ist ein enormer Hebel, und viele Gründer ignorieren dies, aber wenn Sie es richtig nutzen, werden Sie ein Produkt für ein bestimmtes Zielgruppensegment oder den Zielmarkt entwickeln für ein bestimmtes Zielgruppensegment oder den , das Sie Laufe der Zeit skalieren und schnell erweitern können. Im Moment machen wir einige Annahmen zu unserem Produkt, aber wir stellen es den Nutzern vor, wir erfahren tatsächlich, wer unser echter Kunde ist und was ihnen an unserem Produkt wirklich wichtig ist. Sobald wir diese Antworten erhalten haben, können wir uns auf das Marketing konzentrieren und uns darauf konzentrieren, die richtigen Funktionen für sie zu entwickeln. Sie erfahren auch, welche Marketingmethoden für Sie am besten geeignet sind. Ist es ein Video, oder ist es ein Blogbeitrag, oder ist es eine Partnerschaft oder vielleicht ist es direkte Öffentlichkeitsarbeit Indem Sie experimentieren und lernen welche Methode am besten funktioniert, werden Sie lernen, worauf Sie sich konzentrieren müssen, damit Sie, wenn Sie Geld für Ihr Marketing ausgeben, Ihr Geld nicht verschwenden und es richtig für die richtigen Marketingkanäle ausgeben es richtig für die Suchen Sie nach guten Signalen von Ihrem Produkt, z. B. wenn Nutzer Ihr Produkt teilen, über Ihr Produkt sprechen, antworten und Ihnen Feedback zu Ihrem Produkt geben Manchmal müssen Sie sich selbst aus dem Weg gehen, um mit Kunden sprechen zu können und Feedback direkt von ihnen zu erhalten. Manchmal ist es Kunden vielleicht nicht wichtig genug, Ihnen Feedback zu geben, es sei denn, Sie fragen danach. Stellen Sie also sicher, dass Sie sich an sie wenden und nach ihren Erfahrungen fragen. Einige davon könnten als automatische E-Mails eingerichtet werden , die von Ihrer App ausgehen. Achten Sie darauf, E-Mails häufig zu nutzen, insbesondere für Ihre bestehende Benutzerbasis. werde mein Produkt Tripvela weiterhin in den verschiedenen Reisegemeinschaften teilen und direkte Kontakte knüpfen, um die ersten hundert Nutzer zu erreichen und von dort aus Möglichkeiten zu erkunden, wie ich vielleicht digitale Nomaden ansprechen kann, die in ich vielleicht digitale Nomaden ansprechen kann, die vielleicht digitale Nomaden ansprechen den sozialen Medien eine Fangemeinde haben, Inhalte zu erstellen, um sie für mich zu Das werden meine nächsten Wochen und Monate sein und ich hoffe, Sie nutzen alle Tools und Marketingmethoden , über die wir gesprochen haben und Ihr Produkt auf weit über Tausende von Benutzern ausweiten und wünsche Ihnen alles Gute damit. Danke, dass du an dem Kurs teilgenommen hast.