Créer des applications d’IA rapidement : de l’idée au MVP sans codage | Nima Tahami | Skillshare

Vitesse de lecture


1.0x


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

Créer des applications d’IA rapidement : de l’idée au MVP sans codage

teacher avatar Nima Tahami, Entrepreneur & Product Designer

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction au cours

      1:06

    • 2.

      Note en coulisses Note Note

      1:16

    • 3.

      Concevoir rapidement

      6:05

    • 4.

      Utiliser ChatGPT pour planifier notre application

      7:54

    • 5.

      Choisir l'appareil

      3:14

    • 6.

      Obtenir l'inspiration

      2:46

    • 7.

      Planifier nos caractéristiques

      4:53

    • 8.

      Évaluer les conceptions

      4:38

    • 9.

      Choisir une pile

      4:39

    • 10.

      Configurer notre projet

      3:31

    • 11.

      Utiliser Git

      3:28

    • 12.

      Choisir le modèle de curseur

      1:42

    • 13.

      Ajouter une page d'accueil

      6:35

    • 14.

      Affinements de conception

      2:50

    • 15.

      Page Voyages version antérieure

      5:45

    • 16.

      Router vers le tableau de bord avec

      3:21

    • 17.

      Ajouter les dépenses

      4:43

    • 18.

      Authentication Pages

      6:13

    • 19.

      Base de données

      4:29

    • 20.

      Finishing Authentication

      5:37

    • 21.

      Créer des voyages

      9:06

    • 22.

      Flux de dépenses

      4:24

    • 23.

      L'image de marque

      2:57

    • 24.

      Connecter le domaine à renvoyer

      4:08

    • 25.

      Configuration des amis

      3:26

    • 26.

      Tester les liens d'invitation

      4:51

    • 27.

      Ajouter des équilibres

      5:05

    • 28.

      Conclusion

      2:43

    • 29.

      Examen final de l'application

      3:04

    • 30.

      Examen de la page d'atterrissage

      6:44

    • 31.

      Stripe Setup

      8:36

    • 32.

      Webhook Stripe

      3:35

    • 33.

      Paramètres de sécurité

      3:17

    • 34.

      Pousser la production

      6:42

    • 35.

      Intégration des rayures

      3:39

    • 36.

      Quoi faire ensuite ?

      3:23

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

46

apprenants

--

À propos de ce cours

La plupart des gens ne construisent jamais leurs idées. Ils y réfléchissent trop, se perdent sur les détails techniques ou passent des semaines à regarder des tutoriels sans jamais créer de choses réelles.

Ce cours est différent. Vous passerez rapidement d’une idée simple à une application fonctionnelle basée sur l’IA.

Pas de duveteux. Pas de théorie à l'infini. Vous allez vous développer étape par étape, à mes côtés, en utilisant des outils modernes qui éliminent le besoin de compétences en codage avancé. Je vous montrerai les étapes exactes que j'ai suivies pour lancer une application par mois au cours des derniers mois.

Vous apprendrez comment :

  • Transformer toute idée en un produit clair et réalisable

  • Concevez et structurez votre application pour une utilisation dans le monde réel

  • Utiliser des outils d'IA pour accélérer le développement et générer des fonctionnalités

  • Créer et expédier un MVP fonctionnel sans vous bloquer uck

À la fin de ce cours, vous comprendrez non seulement comment les applications sont construites. Vous en aurez un à vous.

Une vraie appli que vous pouvez partager, améliorer ou même transformer en un produit payant.

Que vous soyez designer, créateur ou débutant, ce cours est conçu pour vous aider à passer de la réflexion à la construction.

Si vous avez toujours voulu créer quelque chose mais que vous ne saviez pas par où commencer, voici votre point de départ.

Rencontrez votre enseignant·e

Teacher Profile Image

Nima Tahami

Entrepreneur & Product Designer

Enseignant·e

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!

Voir le profil complet

Level: Intermediate

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction au cours: Salut, voilà. Bienvenue dans le cours Build AI Apps VAST. m'appelle Nima Tahami, et ces dernières années, j' ai eu la chance d'enseigner à plus de 18 000 étudiants et de créer Vous voyez, la plupart des gens abandonnent leur idée avant même de commencer à la développer et à la lancer. Ils commencent à trop réfléchir à toutes les parties ou à rester coincés dans le code Vous n'avez plus besoin de compétences en codage pour donner vie à vos idées. Grâce à l'IA. Tout au long de ce cours, je vais vous montrer les étapes exactes que je dois suivre pour transformer une idée en une simple idée en un produit concret. Aucune expérience de codage n'est nécessaire, et vous repartez avec une application qui est réellement en ligne sur Internet et que les utilisateurs peuvent utiliser et payer. Que vous soyez un designer une fois que vous avez dépassé le stade de la conception d'écrans ou un chef de produit désireux de donner vie à ses idées, ce cours est exactement pour vous. Et vous ne vous contenterez pas de regarder ce cours. Vous pouvez réellement créer à mes côtés , donner vie à votre propre idée et apprendre à utiliser des outils tels que Claude et Cursor pour vous aider à créer votre application beaucoup plus rapidement. C'est un super cours pratique. J'espère que vous serez prêt à exécuter et à donner enfin vie à votre idée. Commençons. 2. Note en coulisses Note Note: Avant de poursuivre les conférences, je voudrais faire une petite pause ici juste pour vous montrer les coulisses de la création de ces conférences . Une tonne de temps est consacrée à la planification des conférences, Une tonne de temps est consacrée à la planification des à leur tournage et à leur montage. J'ai créé un outil appelé clip sur lequel je fais maintenant tous mes enregistrements, y compris les conférences que vous vous apprêtiez à regarder. Je suis vraiment enthousiasmé, c' est pourquoi je vous le montre. Je dépose essentiellement les images que j'ai pour les cours, et au lieu d'avoir à passer, vous savez, des dizaines d'heures à côté du monteur à éditer l'intégralité du cours, j'ai maintenant l'IA intégrée à cet outil, occupe du montage. Si vous envisagez à distance de faire des didacticiels, YouTube ou un type de contenu de cours, d'ailleurs, ou du contenu éducatif du type Talking Head, cela pourrait être très utile. Donc, en ce moment, il s'agit de passer toutes les erreurs que j'ai commises afin que, lorsque vous regardez les conférences, vous savez, c'est professionnel, fluide, net, et vous ne perdez pas votre temps à regarder conférences qui n'ont aucun sens ou simplement des pauses aléatoires tout au long de la vidéo. Alors, jetez-y un coup d'œil. Il y a un lien ici si, encore une fois, vous êtes intéressé par le contenu de tournage ou simplement pour voir si c'est quelque chose que vous pouvez utiliser pour votre usage quotidien. Profitez du reste du cours. 3. Concevoir rapidement: C'est donc une semaine passionnante au cours de laquelle nous pouvons réellement créer notre produit, mais pas n' importe quel produit ou n'importe quelle version de notre produit, le produit minimum viable ce que vous avez sûrement entendu parler de la partie la plus précieuse du produit ou de la valeur que notre entreprise aura, nous allons le regrouper dans une petite application ou un produit et le vendre spécifiquement, n'est-ce pas ? Hum, donc, bien sûr, je sais que vous avez peut-être des tonnes de fonctionnalités en tête et des tonnes de façons de concrétiser votre idée, et, vous savez, même chose pour moi et pour l'application en matière de création, mais je ne vais pas me lancer dans la rédaction d'une liste de 20 fonctionnalités d'une liste de 20 fonctionnalités pour ensuite créer chacune d'elles, d'accord ? À moins d'avoir la garantie d'obtenir des clients pour mon produit, ce sera potentiellement une perte de temps. Mais ce qui sera utile, c'est de préciser fonctionnalités ou les éléments du type de valeurs dont nous avons parlé l'utilisateur attend du produit et de se concentrer spécifiquement sur cela Hum, donc avec cet ensemble, nous allons concevoir pour la rapidité et non pour la perfection. Je vais donc vous donner un exemple. Il s'agit de la toute première version de mon clip d'application de montage que j'ai créée. Ce n'était pas encore un éditeur complet. Tout d'abord, je n'ai créé qu' une seule fonctionnalité de ce produit. Et cette fonctionnalité consiste en fait à transformer longues conférences ou de longues vidéos en de courtes bobines Cela prendra donc votre plus longue vidéo, et nous la transformerons en vidéos plus petites en fonction la transcription et de ce qui en ressort intéressant Et comme vous pouvez le constater, les designs sont également très simples. Il n'y a pas de design sophistiqué, même si j' aurais probablement pu passer plus de temps à le concevoir. J'ai choisi la version la plus simple possible. Il vous suffit de déposer vos vidéos. Et à l'époque, en fait, même dans les designs, j'autorisais les gens à publier plusieurs vidéos, mais j'ai finalement eu recours à une seule vidéo Encore une fois, vous souhaitez affiner vos fonctionnalités à la valeur la plus fondamentale que vous souhaitez apporter aux utilisateurs. Vas-y avec ça. C'est la même chose. Voici un aperçu de la vidéo. Une fois que vous aurez déposé la vidéo, il vous sera demandé s' agit du cours Figma Encore une fois, j'ai conçu ce Figma, mais en réalité, j'ai même franchi cette étape et j'ai fait en sorte que vous choisissiez simplement les sujets que vous souhaitez exporter Une fois la transcription analysée, au lieu de vous demander en quoi consiste ce cours, il vous suffira de cocher le sujet que vous souhaitez exporter Hum, c'est tellement simple. Encore une fois, tout cela représente probablement trois écrans au total, peut-être quatre. Tout cela fait partie du même écran. C'est comme un écran de chargement. Encore une fois, bien que je sois designer et que je recherche la perfection, j'essaie de ne pas trop m'attarder sur les détails du design et contenter de la partie la plus simple de ce produit. Ensuite, vous pouvez voir leurs vidéos, et à partir de là, ils peuvent à nouveau, il est écrit « modifier ». Il n'y avait aucune possibilité d'édition dans la première version. Tout ce que vous pouvez faire est de l' ouvrir, de voir les séquences, l'exporter, de le supprimer, puis de passer à la suivante Encore une fois super simple. Et là, je l'ai même fait pour que vous puissiez avoir, encore une fois, des dossiers pour chaque projet, et que vous puissiez accéder à des projets. Donc, pour la première version, c'était super simple, et je vous encourage à faire de même. Ne concevez pas à la perfection, conçu pour une sorte de MVP ou de compilation de fonctionnalités, n'est-ce pas ? Concentrez-vous donc sur la fonctionnalité la plus importante de votre application qui permet localiser les utilisateurs et concentrez-vous là-dessus Oubliez toutes les autres fonctionnalités, non ? vous aider à le faire, je vous recommande vivement d' utiliser également la section communauté Figma si vous créez vos créations dans Figma, ce que j'encourage vivement Ils contiennent déjà des tonnes de kits d'interface utilisateur que les gens ont déjà conçus. Je vous encourage vivement si vous utilisez une bibliothèque de design comme ShatCN C'est une excellente idée également. De nombreuses entreprises l'utilisent, en particulier si vous concevez quelque chose qui pourrait avoir un écran de tableau de bord ou quelque chose d'un peu plus sophistiqué. Ils contiennent des tonnes de composants tels que des graphiques que vous pouvez utiliser et des tableaux de bord Donc, référez-vous certainement à celui-ci ici. Encore une fois, si vous ouvrez l'un d'entre eux, disons que j'ai ouvert le premier ici. Encore une fois, il s'agit d'une bibliothèque de design ouverte par Verso que vous pouvez utiliser Vous pouvez donc voir tous les composants qu'ils possèdent déjà. Par exemple, vous n'avez pas besoin de concevoir un composant d'entrée à partir de zéro, il suffit de le faire glisser à partir d'ici. Ils ont des types de couleurs, et il en existe également des versions plus complètes , je crois. Donc, si vous regardez celui-ci, ils l'ont fait, comme tous les composants, ventilés par pages. Vous avez donc des dialogues d'alerte, euh, des avatars, des badges, une navigation par fil d'Ariane, des groupes de boutons, etc. Alors, explorez ce que vous avez à votre disposition et n'essayez pas d'inventer à partir de zéro. Et vous verrez que lorsque nous commencerons à créer notre produit, nous tirerons parti de ces bibliothèques au lieu de tout faire à partir de zéro. Alors que vous concevez le produit et que nous reviendrons et utiliserons ChatGPT pour nous aider à affiner notre ensemble de fonctionnalités, gardez à l'esprit que vous souhaitez utiliser des bibliothèques externes Vous voulez limiter le nombre minimum de pages dont vous avez besoin pour votre application. Vous n'avez pas besoin de paramètres ou de fonctionnalités de profil sophistiqués , vous savez. Ces petits détails sont donc importants à grande échelle, mais au départ, lorsque vous débutez, vous n'avez pas vraiment besoin de passer du temps à créer toutes les pages individuelles Revenez et commencez à vraiment planifier, qu' allons-nous construire ? Je vais parler de mon produit, mais évidemment, que je fais cela, vous faites la même chose pour votre produit. 4. Utiliser ChatGPT pour planifier notre application: Bien, nous nous préparons donc à commencer à travailler sur notre première version de notre application avant de la créer et même de rédiger les fonctionnalités que nous voulons. Nous voulons bien entendu tirer parti de l' IA pour nous aider à choisir certaines de ces fonctionnalités. Et l'un de mes exercices préférés est de discuter avec ChatGPT de, vous savez, de la première version de notre produit Voilà, j'ai écrit une invite, aidez-moi à planifier la première version d'un MVP d'une application Pour une application qui aide les utilisateurs à suivre leurs dépenses , à répartir facilement les factures lors des voyages et à ne rédiger que les fonctionnalités qui apporteront le plus de valeur aux utilisateurs. recherches pour savoir ce qui manque à des concurrents comme Split Wise dans leur produit ou ce dont les utilisateurs se plaignent en ligne. Cela fait deux choses. La première est que cela nous donne certaines des fonctionnalités les plus importantes que nous allons créer au lieu de simplement tout ce que nous pouvons créer. Ensuite, il va également examiner un peu en ligne, peut-être sur Reedit et d'autres sources Il examinera donc ces ressources lorsque vous lui demanderez de faire des recherches pour voir en ligne quelles sont leurs plaintes à l'égard de ces produits Si vous le souhaitez, vous pouvez être plus précis et dire : «  Regardez la réédition et les sites Web comme G two, qui est la plateforme d'évaluation des applications Nous allons donc appuyer sur Entrée et voir ce que cela donne. Et comme vous pouvez le constater, il effectuera des recherches le Web, puis proposera plan MVP basé sur les plaintes réelles des utilisateurs de Redt, examinera le pilote Trust et les forums de commentaires sur les applications C'est sur cette base que je suis revenue avec des frictions artificielles et des paywalls, ce qui m'a le plus pénible. Cela a du sens. Chaque fois que j'utilise Blitwise, vous ne pouvez ajouter qu'un certain nombre de transactions Comme il est dit ici, il y a trois par jour que vous pouvez réellement ajouter, en a trois par jour que vous pouvez réellement ajouter, puis cela vous oblige à payer pour l'application, n'est-ce pas ? Cela pourrait donc être intéressant pour nous d'en tirer parti et de créer un produit qui est peut-être, vous savez, payant une fois, comme une offre à vie ou quelque chose comme ça. Payez, je ne sais pas, 20, 30, 40 dollars. Encore une fois, nous allons fixer le prix, mais payer X dollars. Vous recevez le produit, vous n' avez pas à vous inquiéter à chaque fois qu'il vous demande un paiement, n'est-ce pas ? Donc je crois qu'il faut diviser les frais de quelques dollars par mois. Mais encore une fois, cela peut être ennuyeux de toujours être confronté à cet écran, et je sais que cela m'est déjà arrivé. Toute friction semble inacceptable. Nous allons donc construire avec ça, non ? Bien que ce ne soit pas une fonctionnalité, il s'agit d' une expérience utilisateur sur laquelle nous allons nous appuyer pour en créer une meilleure version. Trop de friction de configuration est logique. Je l'ai fait aussi. Des groupes sont impliqués et les invitations peuvent être compliquées. Donc, si nous invitons des amis, nous allons rendre les choses super simples. En fait, nous allons faire en sorte que vous n'ayez même pas besoin de saisir leurs e-mails, peut-être simplement de partager un lien pour que les gens puissent rejoindre automatiquement des voyages sans avoir à connaître leurs e-mails à l' avance. Donc, si nous voulons le créer, nous allons le créer de manière à ce que les utilisateurs puissent effectuer le moins d'étapes possible pour inviter des amis, n'est-ce pas ? Nous allons donc garder cela à l'esprit. Ce n'est pas nécessairement une fonctionnalité. Encore une fois, il s'agit d'une amélioration de l' expérience utilisateur, mais je le construis en utilisant le design comme facteur de différenciation, et vous voulez faire de même Allons-y donc et gardons cela à l'esprit. Et au fur et à mesure, notez également, que ce soit sur une feuille de papier ou sur votre ordinateur, notez ce que vous voulez faire qui est différent de ce font les concurrents que font les concurrents, afin de vous aider à vous différencier. Modèle mental confus et stable, non ? Ainsi, lorsque vous essayez de vous mettre d'accord, les gens ne comprennent pas nécessairement comment cela fonctionne, pas qui doit payer qui trop de microtransferts, ils sont maladroits sur le plan émotionnel Nous pouvons donc également l'intégrer au produit, n'est-ce pas ? Une fois le voyage terminé, pourquoi ne pas faire en sorte qu'il soit très simple déterminer qui doit payer combien ? Peut-être même leur envoyer des rappels par e-mail ou quelque chose comme ça, non ? J'ai remarqué que sur Split Wise, je n'ai reçu aucun rappel lorsque je dois payer quelqu'un. Ça m'envoie des relevés mensuels, mais c'est différent de, tu sais, quand tu as besoin de pousser ton ami à me dire : peux-tu me payer ça environ 100 dollars pour un truc comme Airbnb, n'est-ce pas ? peut donc être comme des moments difficiles, et cela pourrait être un autre angle pour différencier notre produit du split wise. Donc oui, il y a des tonnes de choses ici que je n'entrerai pas trop dans les détails, mais que je garderai à l'esprit pour mon processus de conception. Donc, principale opportunité, les utilisateurs ne veulent pas d'outil financier. Ils veulent une aide à la coordination des voyages qui gère automatiquement l'argent Nous sommes en voyage, dressez simplement cette liste d'efforts. Le MVP ne propose que des fonctionnalités qui permettent de créer des voyages instantanés à valeur réelle, n'est-ce pas ? Cela signifie donc qu'il n'y a pas de comptes. Créez un voyage, générez lien de partage exactement ce que j'avais en tête également. Les gens se joignent via Link. Aucune inscription n'est requise. Je ne suis pas sûr à 100 % qui concerne l'inscription et simplement parce que nous avons toujours besoin que les utilisateurs s'authentifient Mais je voyais que cela pourrait également fonctionner. Au moins une personne doit donc créer un compte pour créer le voyage, mais les invités n'en ont peut-être pas besoin. Et encore une fois, c'est le cas en ce moment, nous ne faisons que réfléchir. En ce qui concerne la partie proprement dite du bâtiment, qui se produira peu de temps après, nous les définirons avant d'aller de l'avant. propose même un tas de fonctionnalités qui, selon ChatGPT, ne les mettent certainement pas dans le MVP, et nous allons en tenir compte, comme, vous savez, l'intégration bancaire, les abonnements, etc. Voici donc ce qu'il en est ressorti. Il dit, Cor loop, créez un voyage, partagez un lien, ajoutez des dépenses instantanément, voyez le solde, clairement, réglez avec un minimum de paiements. Je pense que c'est génial, non ? C'est donc un peu plus simple que toutes les autres fonctionnalités qu'il a configurées ici. Mais si nous en créons une version simple, la fonctionnalité n' est vraiment qu'une chose. Et c'est, vous savez, être capable de régler votre voyage en fonction des dépenses, n'est-ce pas ? Nous ne sommes pas en train de construire, même si cela nous indique cette boucle de différents types d'écrans dont nous pourrions avoir besoin, vous pourriez avoir besoin d'un écran pour créer un voyage. Sur le même écran, vous pouvez partager le lien. L'ajout de dépenses s' inscrirait dans le même écran, solde devant être affiché, encore une fois, sur le même écran. concerne les paiements minimaux, nous allons simplement vous envoyer un message sur le même écran pour que vous puissiez réellement voir à qui appartient quoi. De toute évidence, l'écran aura différents états et différents composants, mais nous allons le garder aussi propre que possible. De toute évidence, vous aurez également besoin d'un écran d'accueil pour pouvoir créer des voyages à partir de. Vous disposez donc d'un écran d'accueil pour voir tous vos trajets. Euh, alors sur la page des voyages, vous n'avez pas besoin de naviguer vers différents endroits, un endroit très simple pour voir quel est le total, quel est le solde courant, à qui appartient quoi ? Et puis la possibilité d' ajouter une sorte de dépenses, et nous allons rester aussi propres que possible et utiliser le moins d'écrans possible, encore une fois. C'est dans cet esprit que je vais commencer par les designs. Vous ferez de même lors de la prochaine conférence Je reviendrai pour vous expliquer comment j'ai mon design et quelles sont les décisions que j'ai prises par rapport aux pages que je viens d'expliquer en ce moment. Je vais donc concevoir les deux ou trois premiers écrans principaux, l'authentification, tous les voyages puis les pages de voyage individuelles spécifiques. Je vais donc le concevoir. Vous concevez vos écrans essentiels, limitez-vous à trois ou quatre au maximum, si possible. Je sais que certains produits peuvent être un peu plus compliqués que d'autres, mais encore une fois, essayez de vous en tenir au minimum et aux écrans les plus importants. Je vous verrai dans une minute et hâte de voir également votre design. 5. Choisir l'appareil: Avant de commencer votre processus de conception, vous vous demandez peut-être si je dois créer une application Web ? Dois-je créer une application mobile ? Dois-je créer une application de bureau. Il y a des tonnes de questions sur ce qu' il faut construire et sur la pile avec laquelle construire. La pile comprend tous les outils et logiciels que nous allons utiliser pour développer réellement notre application Maintenant, mon point de vue à ce sujet est très simple. En général, j'opte simplement pour une application Web adaptée aux mobiles, laquelle les utilisateurs peuvent accéder sur le Web depuis leur navigateur moins que ce ne soit ici les applications natives entrent en jeu. À moins que vous ne fassiez quelque chose de spécifique, comme du montage vidéo, quelque chose qui implique l'arrêt automatique de l'utilisateur. Vous souhaitez utiliser une partie de cette mémoire, de cette alimentation ou de ce stockage. Pour mon éditeur de clips de bureau, j'ai décidé de le créer uniquement pour ordinateur de bureau, mais il traite localement tout le montage vidéo et le rendu, et je n' ai pas à le faire sur un serveur, ce qui peut être coûteux, surtout au départ. Maintenant, pour une simple application Web comme Bitwise Petitor Friends on Trips, soyez capable de partager les factures Une application Web suffit. Maintenant, je pourrais avoir tendance à créer une application native plus tard, que je pourrais soumettre aux App Stores et que les utilisateurs pourront télécharger sur leur téléphone. sera pratique si mon ENS doit utiliser cette application quotidiennement ou chaque semaine, surtout si j'emprunte utiliser cette application quotidiennement ou chaque semaine, des itinéraires b2b et que j'ai utilisateurs qui voyagent peut-être sur une base hebdomadaire pour le travail C'est là qu'il est le plus logique de créer une application mobile native. Ou votre cas, si vous créez une application qui implique que l'utilisateur interagisse avec cette application sur une base quotidienne ou hebdomadaire et fréquemment, il serait peut-être préférable de créer en tant qu'application native. Bien entendu, ils ont tous leurs défis à relever. Si vous créez une application native, vous devez la soumettre à l'App Store et Apple doit l'examiner avant de pouvoir la voir en direct sur l'App Store. L'App Store peut également être très compétitif. Mais si vous créez une application Web, vous serez également confronté à ce défi. Mais il y a des avantages et des inconvénients. Tu dois décider toi-même en fonction de ça, ce qui est le plus logique. Encore une fois, en général, j' opterais simplement une application Web accessible sur le navigateur. Tout le monde a un navigateur sur son téléphone et il faut vraiment y réfléchir. votre application est un SAS accessible uniquement sur le Web sur un ordinateur, Si votre application est un SAS accessible uniquement sur le Web sur un ordinateur, dans ce cas, c'est un choix facile. Mais si vous créez quelque chose les gens pourraient utiliser davantage sur mobile, le choix devient un peu plus délicat. Mais encore une fois, je penche pour une application Web, sauf dans des cas spécifiques où l'utilisateur aura besoin de A, d' utiliser la puissance de l'appareil dans la mesure, par exemple, un jeu, ou si vous souhaitez créer une application que les utilisateurs utiliseront quotidiennement ou chaque semaine , par exemple, une application de shopping. Maintenant, gardez à l'esprit que plus tard, vous pourrez toujours changer de pile. Vous pouvez toujours faire de votre application Web une application mobile. Commencez simplement par les bases, commencez par ce qui est le plus rapide, et c'est pourquoi je suggère une application Web pour la plupart des idées. 6. Obtenir l'inspiration: Bien, maintenant que nous avons décidé de ce que nous voulons créer et des fonctionnalités que nous voulons développer pour notre MVP, nous avons besoin de nous inspirer d'autres outils qui existent déjà pour créer notre propre application La meilleure façon de le faire est d'utiliser cette plate-forme appelée Mobiin qui contient des captures d'écran de milliers d'applications différentes, et qui affiche même des animations C'est un excellent outil pour voir ce que font les autres applications. Donc, ici, vous pouvez réellement effectuer une recherche par application spécifique. Vous pouvez également filtrer selon que vous recherchez des conceptions Web, iOS ou mobile. Donc, ici, je vais rechercher Split Wise parce que c'est un outil similaire à celui que je vais créer. Si je l'ouvre, vous pouvez voir tous les écrans divisés apparaître ici. Vous pouvez réellement continuer et le sauvegarder. Je vais garder celui-ci. Vous pouvez voir tous les écrans individuels ici. Ici, nous avons des ajouts et des dépenses. Je vais en utiliser une partie pour être réellement capable de concevoir. Vous pouvez voir exactement comment vous pouvez effectuer les divisions. Comment ils affichent leur page de transaction et ont même quelques pages supplémentaires ici. Au fur et à mesure, vous pouvez sélectionner des écrans individuels. J'aime sélectionner ces écrans ici pour l' ajout du flux de dépenses. Je vais aller de l'avant et copier ces trois-là. Ils ont ce plugin que vous pouvez installer, puis accéder à l'application, appuyer sur Exécuter. Ensuite, à partir de là, vous pouvez réellement coller les écrans. Je vais appuyer sur Command V. Et c'est parti et j'ai collé ces écrans ici Pendant que je conçois mon application, je vais jeter un œil à ces écrans pour m'inspirer. Vous pouvez le faire, bien sûr, avec plusieurs applications différentes. Si vous effectuez une recherche sur Mobiin, vous trouverez certainement les captures d'écran de vos concurrents et vous les utiliserez comme source d'inspiration pour vos propres designs. Il existe une autre façon très utile d' utiliser mobiin : l'onglet des flux ici. Depuis les écrans, si vous passez réellement aux flux, vous pouvez effectuer des recherches dans les écrans plus facilement. Par exemple, je voudrais voir comment gens ajoutent des dépenses sur Split Wise. Je peux voir la catégorie des flux. Nous allons donc passer à ajouter et à dépenser, et nous avons tous les écrans relatifs à l'ajout d'une dépense côte à côte, ce qui est très utile. Maintenant, lorsque je crée ma propre application, je m'assure de ne rien manquer de ce flux. Encore une fois, je peux soit l'enregistrer dans ma collection mobile, soit l' appeler application Trip expenses , soit appuyer sur Créer, copier sur Figma 7. Planifier nos caractéristiques: Maintenant que nous avons vu quelques exemples d'applications offrant des fonctionnalités similaires, je vais passer en revue les maquettes ou maintenant ce sont principalement des wireframes que j'ai Pas même des wireframes, mais surtout juste des exigences, je dirais Pour la page d'authentification, j'ai extrait de la bibliothèque ShatSN Figma, écran inscription simple Ou écran de connexion dans ce cas, je vais garder l'écran d' inscription très similaire avec une image ici, saisie sur la gauche, puis éventuellement une vérification par e-mail qui ressemble à ceci. Encore une fois, je l'ai extrait directement de cette bibliothèque de chat CN. Maintenant, je vais avoir une page d' accueil qui demande rapidement le nom de l'utilisateur et peut-être même de faire son premier voyage. Il s'agirait de trois champs rapides pour obtenir leur nom ainsi que leur premier voyage, qui impliqueront le nom du voyage et les dates, mais les dates, je pense qu'il faudrait simplement les avoir à la place. Ensuite, une fois qu'ils accèdent à leur tableau de bord, qui est l'écran d'accueil principal, ils voient tous leurs voyages. Ils peuvent créer un nouveau voyage à partir de là, cliquer sur un bouton pour créer un nouveau voyage. Ils voient une barre de navigation. Ensuite, sous chaque voyage ou pour chaque carte de voyage, il y aura un nom à l'intérieur, les dates des participants potentiels, et vous pourrez voir qui et combien de statuts Je veux savoir si les voyages sont terminés, tous payés ou s'ils sont toujours en cours, disons, le coût total. Maintenant, cela peut être facultatif. Encore une fois, rien de tout cela n' est gravé dans le marbre pour le moment et le coût pour l'utilisateur. Pour l'utilisateur qui le consulte depuis son tableau de bord, le coût de ce voyage. , un lien de copie rapide ce cas, un lien de copie rapide serait bien, vous n'aurez même pas à participer au voyage si vous souhaitez inviter rapidement quelqu'un d'autre. Ce sera le tableau de bord, encore une fois super simple. Enfin, la page du voyage. La page du voyage contiendra tous les détails du voyage. Ce sera le nom, les dates, encore une fois, potentiellement facultatifs. Toutes les informations de la carte, jusqu'à ce point, où l'utilisateur peut réellement quitter le voyage ou le supprimer s'il l'a créé, il peut régler le problème et vous donne une ventilation simple de qui doit, combien à qui, si un public ou si un utilisateur non authentifié ou connecté visite, ils peuvent voir un bouton pour rejoindre le voyage et ensuite ils seront invité à s'inscrire et à s'inscrire, super simple en deux clics maximum. Si l'utilisateur crée un voyage, il lui suffit d' ajouter un nom, les dates seront facultatives, puis d' appuyer simplement sur Copier le lien pour partager. Pour ajouter une dépense, il va y avoir un flux simple. Je me dis encore une fois, sur la même page, je ne pense pas vouloir afficher ne serait-ce une fenêtre contextuelle ou une autre page, mais une fois que j'aurai fini de concevoir, je les trouverai en détail. Ensuite, nous avons le nom de la dépense. Quelle a été cette dépense ? Quel était le total ? Qui était impliqué, puis quelques types divisés. Est-ce que c'était égal ? S'agit-il de montants ou de pourcentages spécifiques entre les personnes, ou même potentiellement, je pense que c'est une nouveauté Je ne l'ai pas vu sur d'autres outils, mais depuis des jours. Imaginez quelque chose comme Airbnb si quelqu'un restait 20 jours au lieu de 30 jours Il suffit de dire combien de jours ou de nuits cette personne est restée par rapport aux autres et de cette façon, vous pourrez le calculer facilement. C'est bien de les avoir, mais nous allons probablement les garder hors de portée du MVP, moins pour moi Les étiquettes qui peuvent être étiquetées peuvent être des types de catégories de clôtures S'agit-il d'un repas ou d'un B&B, d'un logement, etc. Puis aussi la sélection des devises. Si vous voulez avoir plusieurs devises, ce serait bien aussi, car comme vous pouvez l'imaginer, si vous avez plusieurs devises dans l'application, cela peut devenir un peu plus compliqué. Pour l'instant MVP, première version, les utilisateurs viennent s'en plaindre plus tard Mais pour l'instant, nous voulons simplement sortir la première version le plus rapidement possible. Il n'y aura donc qu'une seule devise, quelle que soit la devise que vous connaissez, utilisée dans votre pays ou dans le pays de l'utilisateur, nous allons choisir. Alors tout est prêt maintenant. Encore une fois, tout cela pourrait changer et changera dans le processus de conception et de développement proprement dit. Vous n'avez pas encore besoin d'en avoir une idée parfaitement claire lors de la phase de conception ou de planification en fil de sel Nous avons examiné quelques exemples. Nous avons dressé une liste de ce que nous voulons sur chaque page. C'est super simple. Encore une fois, à part l'authentification, qui compte deux pages ici, tout le reste n'est qu' un écran de bienvenue et deux autres écrans. C'est ce qu'est vraiment un MVP. Vous pourriez même aller plus loin et le réduire, mais je dirais que ce serait le produit minimum viable qui ait également de la valeur. Nous voulons qu'il soit précieux. Nous ne voulons pas non plus le rendre trop MVP lorsqu'il est trop petit pour être rechargé, car n'oubliez pas que nous chargeons ce produit et qu'il ne gèlera pas Nous voulons également nous assurer qu'il crée de la valeur et qu'il a une apparence professionnelle et propre. Mais vous n'avez pas nécessairement besoin de milliers de fonctionnalités pour facturer les utilisateurs, une seule suffit. Oui, je vais commencer à concevoir maintenant avec tous ces écrans. Revenez m'expliquer mon processus de conception et j' espère que vous ferez de même. 8. Évaluer les conceptions: Très bien, j'ai donc fini de concevoir ma première version. Et encore une fois, je n'en suis pas très fier car c'est censé être le MVP. J'ai assemblé ces dessins en moins de, je dirais, quatre ou cinq heures. La clé ici est la rapidité et c'est ce que vous recherchez pour votre première version. Encore une fois, j'ai une authentification ici. Vous voyez, beaucoup de ces composants proviennent de la bibliothèque ShatSN de Figma Vous pouvez le trouver dans la section communautaire. J'ai collé l'écran de vérification à partir de là, puis c'est très simple : quelle est votre page de nom ? Ça a l'air un peu simple, alors peut-être que dans le MVP lui-même, je vais l'améliorer un peu Et puis nous avons la page MiTripsPage. J'ai mes voyages ici. Uh, Bali avec sept amis, et voici ce que l'on vous doit. Ainsi, vous avez tout de suite une idée de tous vos voyages, montant qui vous est dû ou du montant que vous devez. Donc dans ce cas, on me doit quelque chose et j' ajoute cette petite touche sympa ici, comme, vous savez, tampon que vous recevez sur un passeport. Donc, de petites touches de design comme ça sont toujours, euh, importantes, je dirais. Donc, le titre de MVP ne signifie pas que vous devez créer quelque chose de moche. Hum, tu sais, ce n'est pas convivial. Il s'agit simplement de la version la plus simple que vous puissiez mettre sur le marché et qui ne vous coûtera pas des semaines de développement. Copiez rapidement le lien ici, afin que les utilisateurs puissent rapidement copier le voyage et l'envoyer à leurs amis. Ils peuvent créer un nouveau voyage et s' ils sont sur cette page et qu'ils n'ont encore aucun voyage, ils ont un petit état vide comme celui-ci. Encore une fois, j'ai extrait ce modèle de la bibliothèque Chat CN, apporté quelques modifications, et nous y voilà Euh, alors la page la plus importante. J'ai commencé avec deux versions. abord, j'ai commencé par cette version et j'ai commencé à l'assembler, et elle était un peu partout et elle m'a fait penser à Split Wise. C'est là que ChatGPT entre en jeu. En fait, tout d'abord, je me suis demandé : comment puis-je rendre mon application différente ? Du point de vue du design, quelles sont les choses qui me différencient ? L'un des points sur lesquels il met l'accent est de raconter une histoire et de permettre de comprendre facilement où vous en êtes par rapport à votre équilibre. Au lieu de commencer par les transactions, nous nous intéressons au montant que les utilisateurs me doivent et qu'ils peuvent facilement comprendre. Je lui ai donné le premier design et j'ai dit : Qu'en pensez-vous ? C'est ce que j'ai jusqu'à présent. Encore une fois, cela a été répété avec moi. Je m'ai dit d'avoir un résumé plus clair pour les utilisateurs. Au fur et à mesure que je mettais à jour le design de plus en plus, continuais à envoyer des versions et à me faire des idées. Évidemment, je n'ai pas implémenté tout cela, mais à un moment donné, cela m'a dit que vous êtes assez bon pour lancer en tant que MVP. C'était V One. Je l'ai conçu pour créer quelque chose comme ça. Maintenant, sur la page des voyages, j'ai invité des amis ici. C'est le principal CTA, tous les voyages Vous pouvez donc revenir à tous les voyages, puis, ici, avoir quelques informations rapides sur le créateur du voyage, le moment et le nombre de personnes impliquées Je pense que si vous passez la souris dessus, vous pourrez voir la liste réelle des personnes ou quelque chose comme ça Encore une fois, ces petites interactions auxquelles nous faisons face dans le processus de développement proprement dit. Vous n'avez pas besoin d'approfondir vos designs. Ensuite, vous avez une liste de soldes, par exemple qui vous doit combien immédiatement, vous savez combien vous est dû au total et qui doit vous payer. Quick Mark a payé. Vous n'avez pas besoin de procéder à une installation complète dans d'autres applications. Nous voyons l'activité des voyages ici, puis vous pouvez voir toutes les transactions répertoriées une par une. Quelles ont été les transactions ? Titre, qui l'a ajouté et qui s'est passé entre les deux ? Plus important encore, combien recevrez-vous ou combien devez-vous si vous devez payer pour quelque chose ? Encore une fois, c'est super simple, cela n' ajoute aucune dépense ici. Je n'ai pas encore travaillé sur cet article pour ajouter une dépense. C'est mon design. J'espère que vous avez fait quelque chose de similaire pour votre application. Encore une fois, limitez le nombre d'écrans au minimum si vous n'avez pas encore lancé ce processus et utilisez ChatGPT et d'autres outils d'intelligence artificielle pour vous faire ChatGPT et d'autres outils d'intelligence artificielle part de vos commentaires, mais ne vous y fiez pas entièrement car encore une fois, ce n'est pas parfait, ce n'est pas un concepteur, parfois il vous dira ce que vous voulez entendre ou il vous indiquera des informations supplémentaires qui pourraient ne pas être pertinentes. C'est là que vous, en tant que designer ou votre équipe de designer, pouvez également intervenir et vous défendre ou relever un petit défi grâce à l' IA. Hum, donc oui, nous l'avons et il est temps de commencer à le construire. Donc, avant de passer au curseur et de développer cette application, voyons quelle pile nous allons réellement utiliser. 9. Choisir une pile: Très bien, passons enfin à la partie passionnante, création de notre première version, notre application MVP Nous allons passer en revue la pile que nous allons utiliser ou du moins je vais utiliser. Si vous voulez suivre, utilisez la même pile, veuillez le faire par tous les moyens. Si vous avez déjà une pile que vous préférez, faire la même pile fait essentiellement référence à tous les outils et à ce que vous utilisez pour coder votre application ou lui donner vie. le moment, nous ne faisons que concevoir Figma, une application qui nous permet de concevoir nos écrans Mais pour transformer ce design en une véritable application Web fonctionnelle et la mettre en ligne pour que une véritable application Web fonctionnelle les utilisateurs puissent l'utiliser, payer, recevoir des e-mails, etc., nous devons utiliser une pile pour nous devons utiliser une pile tout fonctionne, à la fois en termes de front end, c'est-à-dire la partie design, et de back-end, c'est-à-dire toute la partie serveur qui gère toutes les informations et données. Alors très rapidement, examinons ce que je vais utiliser, puis vous déciderez vous-même si vous voulez suivre ou utiliser un autre cerf Les principaux outils que j'utiliserai pour coder ce projet seront Cursor, l'outil de codage par IA. Il dispose d'un agent AI intégré avec lequel vous pouvez discuter et, bien sûr, il utilise des modèles tels que le Cloud et le GPT Hum, et d'autres pour donner vie à l'idée. Ensuite, nous avons le dépôt de code sur Github. C'est ici que le code sera enregistré. Chaque fois que vous mettez à jour le code, il finira par le mettre en ligne également aux utilisateurs, dont nous verrons dans une seconde comment cela fonctionne. Pour le stack, l'application Web elle-même sera construite avec NexGS, ce qui nous permettra créer des applications et des API frontales et dorsales, puis pour la base de données, la manière dont nous allons stocker les données ou l'endroit où nous les stockerons, ce sera via Mongo DEB, qui est très facile à configurer C'est là que je vais stocker mes données d'utilisateur et de voyage. Ensuite, ATJS nous permet essentiellement d' authentifier les utilisateurs, sorte qu'ils leur permettent simplement de s'inscrire, avoir des options d' inscription simples comme connexion avec Google, le courrier électronique, etc. Versal est ce que nous utiliserons pour déployer notre code. Une fois notre code déployé sur GitHub, il sera transféré sur Versal, qui héberge essentiellement l' application et le back-end À partir de là, nous pouvons même voir des choses comme des analyses, des journaux et des choses comme ça. Stripe sera la société de paiement qui nous aidera à traiter les paiements pour cette application. Encore une fois, nous déciderons du prix de notre application, mais une fois que nous l'aurons fait, Stripe sera l'outil que nous utiliserons pour traiter ces paiements. Resend est un outil d'envoi d'e-mails. Pour les notifications et les e-mails de connexion, nous utiliserons Renvoyer pour les envoyer. Au départ, tout cela est presque gratuit Ils ont tous des forfaits payants, bien sûr, et des entreprises comme Stripe, Stripe ne facture que le pourcentage des transactions, vous n'avez donc pas à soucier de tout autre paiement de leur part. Encore une fois, tous les autres, c'est gratuit ou gratuit. Ce sont des options facultatives. AW est destiné au stockage. Si vous souhaitez stocker des images d'utilisateurs ou des téléchargements de reçus, dans mon cas, je le ferai via AWS Encore une fois, pour le MVP, probablement en omettant cela. Google Analytics est un bon outil pour suivre les données des visiteurs et des utilisateurs. est un autre bon outil d'analyse PostHG est un autre bon outil d'analyse. Vous pouvez même obtenir plus d'informations, telles que des cartes thermiques, la façon dont les utilisateurs interagissent et ce qu'ils regardent lorsqu'ils interagissent avec votre application Très bon pour le débogage et des choses comme ça pour déterminer où se situent les problèmes Donc certainement un bon outil utile. Mais encore une fois, la censure optionnelle de Super base remplace off et database, vous n'aurez donc pas besoin de Next JS et de Mongo DB Si vous utilisez Super Base et que je crois que même pour certains e-mails, vous n'en aurez probablement pas besoin non plus. Je vais remplacer certaines choses. Mais encore une fois, je ne l'ai pas vraiment utilisé parce que je ne vois pas vraiment la nécessité que nous ayons déjà une pile de solutions. Si vous étudiez à l'extérieur et que vous voulez l'essayer, ce n' est pas une mauvaise option non plus, d'après ce que je sais. C'est la pile que nous allons utiliser. Nous allons maintenant commencer par accéder à Cursor. Avant cela, nous allons configurer notre projet dans la prochaine vidéo, puis revenir pour commencer à travailler dessus. 10. Configurer notre projet: C'est bon. Avant de commencer, vous devez installer NoJS Rendez-vous sur nojs.org et cliquez sur Genjs. Vous en aurez besoin pour créer une nouvelle application à l'aide de la pile dont nous avons parlé. Encore une fois, si vous ne voulez pas suivre cette pile et que vous avez déjà la vôtre ou si vous avez déjà découvert qu'il n'y avait pas de JS, vous n'avez évidemment pas besoin de suivre cette procédure. C'est le cas si vous le faites pour la première fois et que vous n'avez jamais créé d'application NoJS Une fois que vous avez terminé, vous voulez continuer et ouvrir le terminal. Donc, depuis votre machine ou depuis votre dossier d'applications, recherchez l' application appelée terminal. Cela ressemble à ceci, puis vous pouvez créer un dossier sur votre bureau ou partout où vous conservez déjà du code ou d'autres projets pour vous-même. Si vous avez un dossier, il est préférable d'y accéder. J'ai déjà un dossier appelé code. Je vais juste faire du code CD comme celui-ci. Allons-y. Je suis dans le dossier de code. Évidemment, si vous avez un dossier pour vous-même, faites-le là. Tu n'en as pas besoin. C'est juste une question d'organisation. Ensuite, vous devez écrire NPX, créer Next App, ajouter Enter, et il vous demandera quel est le nom du projet Pour l'instant, je vais appeler cette application Trips et appuyer sur Entrée. Je vais réellement personnaliser les paramètres, donc je vais choisir mes propres préférences, il suffit de descendre ici. Je ne vais pas utiliser TypeScript, je vais utiliser yes int, appuyer sur non sur celui-ci, sur oui sur celui-ci Pour le reste, je vais garder la valeur par défaut. Oui, non Voilà, c'est en train de s'installer. Encore une fois, c'est ainsi que je configure les projets, vous n'êtes pas obligé de suivre cela, mais c'est ainsi que je ferais. Il est en train de créer ce projet en ce moment. Maintenant, dans ce dossier, j'ai cette application de frais de voyage et elle a créé tous les fichiers. Ce que je veux faire maintenant, c'est ouvrir ce dossier dans Cursor. J'ai déjà installé Cursor. Si vous ne l'avez pas installé, allez-y et faites-le. Ensuite, une fois que je l'ai ouvert Cursor, je vois que j'ai cette interface ici. J'aime avoir la barre latérale ici, la barre latérale principale. Vous pouvez également exécuter la commande B. Et maintenant vous pouvez voir tous les dossiers ici, ce qui est parfait. Vous pouvez même aller de l'avant et exécuter ce projet. Je vais ouvrir un nouveau terminal en accédant à l'onglet supérieur de la barre d'état ou de la barre de menu, en appuyant sur terminal et en appuyant sur Nouveau terminal. Ici, si vous exécutez NPM run Dev So, il exécutera réellement le projet et il s' ouvrira dans un nouveau navigateur Comme ça. Si vous l'avez, cela signifie que vous avez créé une application sans JS et qu'elle fonctionne correctement. Cela servira de base pour le code ou le projet que nous utiliserons Revenons dans la prochaine conférence pour le transférer GitHub ou sur le référentiel de code 11. Utiliser Git: C'est bon. Nous voulons réellement mettre le code que nous venons de créer, même s'il s'agit actuellement d'une base sur Git Hub afin que le code y soit stocké. Ainsi, lorsque nous mettons à jour notre code, nous pouvons l' y transférer afin qu'il soit enregistré avec toutes les modifications. Ensuite, lorsque nous connecterons le versal, qui, si vous vous souvenez, est la plateforme d'hébergement, il utilisera automatiquement le dernier code de GitHub et le déploiera auprès des utilisateurs ou en ligne sur votre domaine afin que utilisateurs ou en ligne sur votre domaine afin les utilisateurs puissent utiliser facilement votre produit Hum, c'est super simple de configurer Git via Inside of Cursor. Évidemment, vous pouvez le faire via github.com et inscrire ici, alors créez un compte si vous n' en avez pas déjà Mais ici, si vous allez simplement dans l' onglet Git Essentially, vous pouvez créer votre premier, vous savez, Commit. Je vais juste faire un commit initial comme celui-ci et publier cette branche. Maintenant, en ce moment, cela me dit voulez-vous en faire un dépôt public ? Cela signifie que tout le monde sur GitHub peut voir mon code ou un code privé ? la plupart des cas, vous souhaitez créer un dépôt privé sauf si vous faites un projet open source. Mais sinon, vous allez choisir le mode privé et tout de suite, il publiera dessus. Ensuite, vous pouvez même l' ouvrir sur GitHub. Si vous cliquez sur Ouvrir sur GitHub, de gestion des frais de voyage est créée sur mon compte GitHub cette application de gestion des frais de voyage est créée sur mon compte GitHub en tant que référentiel privé contenant tout le code ici Euh, et maintenant, si vous apportez des modifications au code, à titre d'exemple, je vais passer à la page point JS, qui est, vous savez, l'écran initial que nous avons vu. Donc, tout d'abord, je vais m'assurer que l'application fonctionne. Donc, cet écran initial, disons, je veux juste mettre à jour le texte ici pour commencer, euh, vous savez, et le remplacer par frais de voyage. Er clique sur Enregistrer qui, d'ailleurs, le met à jour automatiquement . Maintenant, nous l'avons. Ensuite, nous pouvons voir si vous vous dirigez vers l'onglet Git, nous pouvons voir qu'il y a des modifications dans le point de page JS, et nous pouvons voir si vous cliquez dessus exactement ce qui a changé, cette ligne change en ceci, ce qui est correct, puis nous pouvons réellement modifier le texte de validation. Nous allons donc appuyer sur Valider , puis synchroniser ces modifications. Cette modification est désormais également disponible sur GitHub. Si vous continuez sur votre If I open this Git Hub repo, encore une fois, vous pouvez voir qu' il y a eu un commit et je peux voir tous les commits ici Cela vous permet de suivre facilement toutes les modifications que vous avez apportées à votre code au fil du temps Au cas où vous auriez commis une erreur quelque part, vous pouvez toujours revenir à l'un de ces validations C'est pourquoi nous utilisons Git tout au long du projet au fur et à mesure que je le développe. Vous allez me voir l'utiliser plusieurs fois entre chaque fonctionnalité, implémentation ou écran afin que je puisse suivre l' avancement au cas où il y aurait à nouveau des problèmes, je puisse revenir en arrière ou revenir au commit précédent. 12. Choisir le modèle de curseur: Je voulais aborder brièvement les différences entre les différents modèles et modes d'agent et la façon dont je les utilise. En ce qui concerne les modes, vous avez le mode Agent, que nous avons utilisé pour confier des tâches à Cursor à accomplir pour nous. Mais nous avons également le mode plan qui avant que l'agent prenne des mesures pour modifier le code, nous vous demandons de planifier les choses, de nous dire ce qu'il va faire et comment il implémenterait quelque chose afin que nous puissions examiner un document avant qu'il ne soit réellement implémenté. Il existe également le mode débogage, que vous pouvez demander pour résoudre spécifiquement les bogues, et également mode demande si vous souhaitez simplement poser des questions sur votre code ou sur le fonctionnement actuel de votre application Parmi les modèles, vous pouvez désactiver Auto si vous ne le souhaitez pas et activer le mode Max si vous souhaitez utiliser le maximum de jetons pour cette tâche. Composer est le propre modèle du curseur qui fonctionne plutôt bien. J'ai essayé ça de nombreuses fois. Ops est également un excellent jeu, y compris Sont. Je ne travaille généralement pas avec les modèles GPT, mais ils sont également disponibles ici Mon préféré est aussi le compositeur de Sonnet ou d'Ops. Mais gardez à l'esprit que ce n'est pas nécessaire, sauf si vous confiez une tâche plus complexe ou compliquée que l'automate aurait généralement du mal à Une fois que vous aurez un peu plus de complications ou de tâches compliquées à confier à Cursor, j' utiliserai ces modèles, en gardant à l'esprit que, bien entendu, utilisation coûte plus de jetons et de crédits. 13. Ajouter une page d'accueil: Bien entendu, il y a plusieurs choses que vous pouvez faire à partir d'ici. Soit vous configurez les routes d'API pour le backend, vous pouvez créer la base de données et configurer MongoDB Vous pouvez configurer l' interface utilisateur et les designs. Personnellement, j'aime d'abord configurer les designs, puis aborder les fonctionnalités de l'application. L' une des plus grosses erreurs que je constate dans le codage Vibe est de donner l'application tout ce qu'il faut faire en même temps Une fois cela fait, vous perdez techniquement le contrôle de tout et vous devez alors revenir en arrière et lui demander d'apporter des changements partout. Mais si vous contrôlez entièrement l' aspect « Vibe Coding », qu'une tâche, une chose à la fois, sur laquelle travailler, non seulement nous pouvons le contrôler et le contenir parce que nous pouvons voir ce qu'il fait chaque page à la fois, mais c'est également mieux parce que c'est mieux organisé et qu'il y a moins de risques de bogues. Bien que je sois presque sûr qu'il y aura encore des bugs à venir, oh, je vais commencer par l'interface utilisateur. Je vais commencer par la page d'accueil. Ici, dans les designs, nous avons les pages d'authentification, et je suis sûr que vous pourriez également avoir besoin de pages d'authentification pour vous-même. Mais ma page principale est une page de tableau de bord, et si vous avez une page de tableau de bord ou une page d'accueil comme celle-ci, vous pouvez toujours commencer par celle-ci et c'est ce que je vous encourage à faire. Euh, et nous allons utiliser ce que l' on appelle le serveur Figma MCP, qui crée essentiellement une connexion entre Figma et Cursor pour pouvoir le faire ou facilement afin que nous puissions copier un lien depuis Figma, le coller dans Cursor, coller dans Cursor, et nous allons prendre toutes les propriétés de l'écran, pas seulement des captures d'écran et implémenter un très proche, pas seulement des captures d'écran et implémenter version propre de ce design ou de cette interface utilisateur. Euh, donc pour ce faire, vous aurez besoin de Figma Pro, vous aurez besoin d'un compte de niveau professionnel , puis vous allez passer en mode Dev ici Ici, vous pouvez voir le MCP sur ce panneau. Si vous ne le voyez pas, c'est peut-être parce que le MCP est désactivé. Si MCP est désactivé, vous verrez ce serveur MCP de bureau activé . Tu vas toucher ça. Ensuite, MCP sera activé sur cette URL et vous allez continuer à la copier Une fois que vous l'avez copié dans Cursor, si vous utilisez d'autres outils, ils sont également équipés de MCP pour la plupart d'entre eux Faites quelques recherches sur votre outil et sur la façon de configurer MCP Pour Cursor, vous allez dans les paramètres, vous allez dans Outils et MCP, puis vous cliquez sur Nouveau serveur MCP, puis vous remplacez cette URL celle que vous avez obtenue de Je l'ai déjà configuré, donc je ne vais pas le faire, mais assurez-vous d'appuyer sur Enregistrer une fois que vous l'avez fait. Ensuite, si vous l'avez bien fait, vous devriez voir FICMA le nombre d' outils activés et c'est activé ici Assurez-vous de cela avant de continuer. De cette façon, vous pouvez simplement cliquer sur la page que vous souhaitez. Je veux la page du tableau de bord. Copiez cette invite ici, mais nous allons y apporter quelques modifications , puis réintégrer dans le nouveau chat ici dans Cursor. Collez-le dedans. Je vais utiliser juste un modèle de voiture pour celui-ci. Mais bien sûr, il existe d'autres modèles que vous pouvez utiliser et nous parlerons un peu des modèles et de la façon d'en choisir un plus tard. Mais pour l'instant, un mode automatique devrait suffire. Nous allons écrire quelques notes ci-dessous. Nous allons nous assurer de transformer chaque carte en composant. Et assurez-vous de transformer la barre de navigation en composant. Ce que je demande à Cursor de faire, c'est de transformer la barre de navigation et ces cartes en composants afin que nous puissions facilement apporter des modifications ultérieurement et que notre code soit plus propre Nous allons juste le faire, appuyer sur Entrée. Je vais commencer à le faire. Maintenant, si le MTP fonctionne correctement, vous devriez le voir vous demander des autorisations en une minute. Voilà. Vous voyez qu'il exécute get design context Figma. Vous pouvez voir les captures d'écran. Encore une fois, il peut vous demander certaines autorisations si vous ne l' avez jamais exécuté auparavant. Nous allons lui donner une minute. En attendant, je vais retourner à la page d'accueil et voir quelles modifications elle apporte ou au navigateur de fichiers lui-même, devrais-je dire. Maintenant, il commence à créer chaque composant, il crée un composant NAVR, un composant de carte de voyage, et met à jour la page avec l'utilisation du NAVR et des cartes de voyage Encore une fois, nous nous concentrons d'abord sur le design, puis sur la mise en œuvre des fonctionnalités, base de données et les fonctionnalités de la création de voyages réels, etc. Tout est fait. Il nous a donné un résumé de tout ce qu'il a fait avec ces composants et il a mis à jour la page que JS a créée. Nous allons conserver toutes les modifications, revenez sur notre navigateur qui exécute cette application. Nous l'avons là. Voici le design, il est copié de Figma. C'est plutôt décent. De toute évidence, il y a des problèmes tels que l'étirement de ces icônes, mais c'est très proche de ce que nous voulons qu'elles soient au final. Je vais faire une dernière chose et je vais lui faire installer ChadSN pour utiliser les composants à partir de là à l'avenir Comme j'utilise la bibliothèque ShatSN, je veux m'assurer qu'elle a accès aux composants Shad CN Il devrait procéder à l' installation. Il recherchera le Shad CNUI, l'installera et espérons-le, apportera quelques mises à jour afin que ces boutons proviennent réellement de Shad CN plutôt que de boutons codés sur mesure Je vais le laisser faire. Vous pouvez faire la même chose, puis nous reviendrons lors de la prochaine conférence pour peaufiner cela et passer à notre page de voyage. 14. Affinements de conception: J'ai fait quelques petites choses ici pour améliorer un peu le design. Je vais juste vous montrer ici. J'ai corrigé les problèmes liés l'ellipse et au texte à l'intérieur qui n'y figuraient pas et à ce SVG étiré pour l'avion Pour ce faire, j'ai écrit quelques instructions. Je vais les passer en revue très rapidement, car encore une fois, je ne veux pas trop insister sur la phase de construction ou sur cette partie du bâtiment, mais simplement dire rapidement quel type d'instructions j'ai données à l'IA J'ai fait en sorte que cela agrandisse l'ellipse du texte. Mais en fait, avant cela, permettez-moi commencer par ce que j'ai fait au départ. Au départ, je lui ai donné deux corrections à apporter. J'ai dit : assurez-vous qu'il y a une couche de texte autour de l'ellipse à l'intérieur et répétez les noms des villes comme dans le design de Figma Vous voulez vous référer au design Figma que vous lui avez donné et que le logo simple est écrasé Pouvez-vous vous assurer qu'il préserve le rapport hauteur/largeur ? Il n'a pas fait un excellent travail sur ce point. Ensuite, j'ai parcouru Figma, sélectionné cette couche simple, puis je sélectionné cette couche simple, l' ai exportée au format SVG En tant que SBG ici. Une fois que vous l'avez exporté, assurez-vous le coller dans le dossier public. Si vous entrez dans les dossiers où se trouve votre fichier ou votre projet, assurez-vous de coller dans ce dossier public toutes les icônes de votre choix, car c'est là que les icônes doivent être stockées. Vous pouvez même créer des dossiers à l'intérieur d'ici et c'est une bonne pratique. Si vous souhaitez créer un dossier d'icônes , puis y stocker toutes vos icônes. Je vais rester simple et tout placer à l'intérieur. J'ai donc fait un travail décent. Le texte était un peu trop petit par rapport à l'ellipse qui s'y trouvait déjà, le cercle Je me suis assuré que c'était la bonne taille. Je lui ai simplement demandé de faire en sorte qu'il suive le même chemin. L'un d'eux était plus circulaire qu'ovale, alors je me suis assuré qu'il assorti. Il a fait un excellent travail et je lui ai dit d' utiliser le SPG pour l'avion Hum, et encore une fois, quelques petits ajustements agrandissent un peu les textes Donc, si vous devez apporter des ajustements, il suffit de le réduire légèrement ou de l'agrandir, faire pivoter le plan SPG parce qu' il était orienté dans le mauvais sens Assurez-vous donc de lui donner ces rotations spécifiques de 90 degrés, etc. Encore une fois, l' horodatage était éteint. Comme vous pouvez le voir dans les dessins ici, ça a l'air plutôt bien. Mais au départ, dans l'application, ce n'était pas le cas. Mais ensuite je lui ai demandé de m' assurer que c'était au centre. Alors maintenant, ça a l'air plutôt bien. Encore une fois, quelques micro-ajustements, abaissez le texte, essayez un ou cinq, apportez quelques modifications. Vous m'avez dit que c'était le rembourrage de 110 pixels, au lieu de 100, j'ai dit d'en essayer un sur cinq parce que c'était trop Donnez des chiffres précis lorsque vous le pouvez. Ensuite, nous allons revenir travailler sur la page du voyage. 15. Page Voyages version antérieure: Donc, avant de continuer, je vais m'assurer de mettre à jour le design de ma carte de voyage et de valider cette modification. Encore une fois, entre les modifications que vous apportez, vous devez les envoyer sur Github de temps en temps afin de pouvoir suivre tout et toutes les modifications que vous avez apportées Juste au cas où vous auriez besoin de revenir en arrière, cela facilite également les choses. Passons à notre page suivante, qui est la page du voyage pour moi, je suppose, celle-ci ici. Il s'agit de la version mise à jour. Je vais passer en mode Dev, copier le lien MCP, le minimiser Encore une fois, assurez-vous que tout ce que vous sélectionnez va à Figma Assurez-vous que Cursor. Assurez-vous que dans Figma, vous sélectionnez le cadre entier. Assurez-vous donc qu'entre les modifications que vous apportez, vous créez une nouvelle discussion dans votre section de discussion basée sur l'IA ici afin qu'elle n'utilise pas trop de crédit ou que vous ne fassiez pas une discussion trop longue, ce qui pourrait être inefficace pour les modifications ainsi que pour la base de crédit Vous voulez vous assurer de créer une nouvelle discussion, appuyer sur Commande ou Contrôle sous Windows, puis je vais coller ce lien depuis Figma pour cette page de voyages, et je vais lui donner quelques informations Je vais dire, ajoutez une nouvelle page de voyages. Sur la base des modèles ci-dessous, l'utilisateur accède à cette page en cliquant sur la carte de voyage depuis la page d'accueil Permettez-moi de revoir les dessins et de voir s' il y a autre chose. Encore une fois, je vais faire en sorte que les cartes d'équilibre soient transformées en composants et que cartes de dépenses en composants soient transformés. Le reste semble bon. Une autre chose que je veux faire est de m' assurer que c'est en cours de téléchargement, afin qu'il télécharge les icônes. Parfois, cela ne fonctionne pas, nous devrons peut-être exporter manuellement les icônes et les images dans notre projet. Mais voyons comment cela fonctionne du premier coup. Je vais faire une pause et revenir quand ce sera fait. C'est bon. C'est fait et je donne un résumé de tout ce qui a été fait, y compris la carte de dépenses qui fait partie de la carte de crédit et la page des voyages, ainsi que les itinéraires. Les itinéraires sont la façon dont les gens naviguent dans votre application NextGS et elle gère donc tout cela Nous pouvons maintenant l'essayer et même créer le lien ici. Trips Slug est essentiellement l'identifiant de ce voyage. Cela jette même les bases de notre backend plus tard, ce qui est incroyable. Jusqu'à présent, nous n'avons eu aucune intégration de back-end ou de serveur. Mais nous le ferons bientôt et cela sera très utile. faisant, le design des cartes de voyage a un peu foiré design des cartes de voyage Nous allons régler ce problème dans une seconde. Mais voyons si nous cliquons sur l'un d'eux. Nous avons une erreur. C'est très courant lorsque vous travaillez avec l'IA. Si vous obtenez une telle erreur, copiez simplement les informations d'erreur ici, renvoyez-les à votre agent de codage. Laissez-le simplement regarder cette erreur et corrigez-la. La plupart du temps, il s'agit soit d'une erreur logique oubli d'un oubli de définir une variable ou quelque chose comme ça , alors qu'elle est généralement petite et qu'elle sera corrigée immédiatement. Donnez-lui un peu de temps. Et pendant ce temps, nous pouvons y retourner ici et là. C'est réparé, et ça a l'air génial, pour être honnête. C'est dès le départ, c'est aussi proche que possible des designs de Figma Encore une fois, c'est ce qui fait la beauté du MCP. Cela m'aurait pris au moins deux jours auparavant. Mais maintenant, nous avons tout cela. Bien entendu, il n'a rien fait que vous ne lui ayez dit, sinon l'ajout de dépenses ne fonctionne pas encore. Tous les voyages fonctionnent, reprennent tous les voyages. Inviter des amis ne fait rien pour l'instant , pas plus que ces trois points ici. Et vous pouvez voir qu'il a créé deux versions différentes. Voici cette version pour Tokyo. Mais si j'y repense, il y a aussi cette version pour Bali, elle a l'air différente. Ce ne sont pas encore des boutons, donc bien sûr, nous avons quelques points à corriger. Je vais prendre note de ces choses et vous devriez faire de même. Au fur et à mesure que vous assemblez chaque page, notez ce qui ne va pas. Je vais prendre note du le bouton ici doit être corrigé. Prenez note de l' ajout de frais, mais aussi pour celui-ci, je vais créer une nouvelle invite à ce sujet. Euh, le reste semble correct, mais bien sûr, il y a des problèmes comme celui-ci, des problèmes d'alignement. Vous voyez que celui-ci est aligné. petites choses comme ça, prenez-en note et renvoyez-les à l'IA. n'y a pas de dégradé derrière la flèche, comme c' est le cas dans mes dessins. Ce sont vraiment de petites choses subtiles. Je vais apporter ces correctifs parce qu'ils sont plus petits , puis revenir et continuer avec le reste du flux, ce qui va augmenter les dépenses. Ensuite, je vais également travailler à la création d'un nouveau voyage. Ce sont deux choses sur lesquelles je vais travailler ensuite. Hum, et encore une fois, pour votre application, suivez-nous. Mais si tu fais exactement la même chose, tu sais, tu peux suivre exactement le même chemin. 16. Router vers le tableau de bord avec: C'est bon. Mon curseur apporte maintenant petites modifications, comme le dégradé dont je parlais ici. Maintenant, une chose que je veux dire, c' est qu' une petite modification que je veux apporter et m'assurer que vous apportez à votre projet est que le projet se trouve dans le dossier de votre application, votre point de page JS est initialement la page d'origine qui apparaît. Donc dans notre cas, pour le moment, c'est juste un hôte local, 3 000. Il n'y a aucune sorte de barre oblique ou de page de somme. Quand tu es ici, hiplah Bali, en gros , tu regardes, dans ce dossier d'applications, la page des voyages C'est là que vous avez ce numéro de voyage. Nous voulons également déplacer notre page ici dès maintenant, celle-ci ici. Si vous avez une page de tableau de bord comme celle-ci, vous ne voulez pas que ce soit votre page point JS, car elle est en fait destinée à votre page de destination. Lorsque les gens arrivent sur votre site Web, la page marketing, la première page qui apparaît par exemple, ici pour la version actuelle de QClip c'est cette page, alors j'ai une page de tableau de bord Le tableau de bord Slash est en fait la page du tableau de bord. Un petit changement, je vais l' avoir et je vais le faire dans un nouveau chat. Assurez-vous que la page JS actuelle devient une page de tableau de bord. Et modifiez le point de page JS pour avoir simplement un texte d'espace réservé pour notre page de destination Nous ne voulons pas qu'elle devienne une page de destination pour le moment. C'est ce que nous allons faire dans un moment. Mais pour l'instant, je veux juste m' assurer que cette page devienne une page de tableau de bord afin d'éviter toute confusion par la suite. Assurez-vous de faire quelque chose comme ça également si vous avez pas fait, car cela apporte un changement, si nous revenons ici, la page de destination sera bientôt disponible, puis si vous allez sur Slash Dashboard, Nous avons une page de tableau de bord ici. Par souci de simplicité, je vais vous proposer d'ajouter un bouton sur la page de destination qui m' amène au tableau de bord. Ainsi, à chaque fois que nous lançons le projet, car par défaut, nous arrivons sur la page de destination, qui se trouve actuellement ici. Nous voulons juste un bouton. Encore une fois, c'est temporaire juste pour que nous puissions accéder rapidement à cette page. Je vais donc continuer à apporter de petites modifications, principalement au design et aux fonctionnalités comme celle-ci ici pour le côté design. Ensuite, une fois que tout sera prêt, nous procéderons ou je procéderai à l'ajout d'une dépense et d'un flux de voyage. Une autre chose que je vais faire est, euh, vous savez, modifier les liens de tous les boutons qui étaient auparavant liés à la page JS pour accéder à Porta JS, sur la page Trips. Je veux juste m' assurer qu'il modifie également ce lien ici. Tous les voyages doivent être renvoyés au tableau de bord plutôt qu'à la page d'accueil ou, encore une fois, à la page de destination. Assurez-vous d'effectuer cette modification. Juste quelque chose de subtil à noter. 17. Ajouter les dépenses: Très bien, les choses commencent à bien paraître et à être beaucoup plus propres, alors je vais procéder aux modifications. Changez les cartes et ajoutez une page de voyages. Je vais maintenant synchroniser ces modifications. En revenant en arrière, je souhaite ajouter mon flux de dépenses. Je l'ai déjà conçu ici parce que je me suis dit pourquoi il n'était pas plus facile de le transmettre à Cursor. Ici, je vais double-cliquer pour sélectionner cette carte qui ajoute une dépense , puis me rendre sur MCP pour copier le lien ou le mode Dev ici dans Cursor Pour créer une nouvelle discussion, collez-la et dites «  ajoutez une carte » pour permettre aux utilisateurs ajouter des dépenses une fois qu'ils ont cliqué sur Ajouter des dépenses. Mais sur la page des voyages, vous devez être précis comme ça, donner un exemple de l'endroit où cela se trouve, même si nous allons probablement le découvrir aussi, mais cela facilite un peu les choses. Assurez-vous de faire disparaître ce blog et, si l'utilisateur clique sur Annuler, fermez-le. Si des modifications sont apportées ou si des numéros sont ajoutés dans les champs de saisie, affichez d'abord une alerte, puis annulez-la ou fermez-la. C'est bon. lui ai donné quelques instructions et la principale était la suivante : si l'utilisateur clique pour annuler cette dépense, assurez-vous qu'il y était la suivante : si l'utilisateur clique pour annuler cette dépense, soit réellement invité, veut-il vraiment la clôturer ou non ? De cette façon, ils ne perdent pas certaines données. Juste un résumé très rapide. Ici, j'ai un champ de montant, donc l'utilisateur saisit le montant. Cela leur indique à quoi c'était destiné. C'est là que la catégorie apparaît ici. Ou le nom de la dépense. Alors c'est comme ça qu'il se divise Habituellement, le partage par défaut est égal, donc égal pour tout le monde. Mais ensuite, s'ils le souhaitent, ils peuvent entrer et modifier les chiffres et ils seront mis à jour dynamiquement . S'ils veulent opter pour un pourcentage, ils peuvent le faire. S'ils optent pour un dollar par dollar, ils peuvent le faire, ou s'ils souhaitent au jour le jour, ils peuvent également le faire. Ensuite, si vous vous en souvenez, il calculera combien de jours à partir du voyage total, cette personne a-t-elle dormi dans cet Airbnb, facturera donc le bon montant , puis ajoutera les frais. Donc, c'est assez simple et direct. Il va commencer à le faire et voyons ce qu'il fera dans une minute. C'est bon. Cela a fini de fonctionner et voyons voir à un prix. Il est donc évident qu'il n'a pas accédé aux designs de Figma. Je peux le constater par le design, mais je ne comprends pas exactement à quoi cela devrait ressembler. Je vais vous demander : avez-vous suivi exactement les designs de la FICMA et lui avez-vous demandé cela ? Nous n'y avions pas accès, nous allons chercher les designs maintenant. Cela arrive parfois. Il fait des erreurs, il n'y accède pas réellement pour une raison quelconque, vous devrez peut-être le réactiver Juste un rappel amical, vous devrez peut-être le faire plusieurs fois si cela ne se produit pas la première fois. Voyons ce qu'il fait cette fois-ci. Cette fois-ci, ça l'a réparé. En fait, j'ai saisi des chiffres. 20$ ça calcule automatiquement le tout à 30$, et voilà Vous pouvez en retirer des personnes. Ce ne sont probablement pas les bons états, donc je dois juste mettre à jour ces petites choses. Vous pouvez utiliser une base de pourcentage. Et cela ne semble pas tout à fait correct non plus. Encore une fois, il se peut que je doive apporter quelques modifications ici et là pour m' assurer que, pour les détails, il le met à jour. Mais le design de base est correct. Bien entendu, leur placement pas correct, mais au moins il nous demande si nous voulons réellement les supprimer, à un prix, et ensuite vous ne pouvez pas maintenant, cela vous permet d'ajouter des dépenses vides De petites choses comme ça ont besoin d'être réparées. Mais nous allons apporter ces modifications et continuer dans la prochaine conférence. 18. Authentication Pages: Très bien, nous entrons dans le vif du sujet, la phase de construction, et nous devenons plus réalistes. J'ai modifié la configuration de l'éclairage derrière moi pour qu'elle corresponde à cette ambiance. Mais en gros, nous allons commencer à travailler sur notre authentification dès maintenant. Je vais donc diriger le projet et revoir une fois de plus où nous en sommes. J'ai configuré ma page de tableau de bord. Il s'agit évidemment de données de test et non de données réelles Nous allons donc créer de vrais trajets et des données réelles. Pour l'instant, ce ne sont que des tests, mais j'ai une première interface utilisateur fonctionnelle. Il y a évidemment encore des améliorations à apporter, mais nous n'entrerons pas dans les détails. En fait, pour devenir votre MVP, vous devriez privilégier l' élan et le faire ressortir rapidement plutôt que les petits détails. En tant que designer, je me retrouve parfois dans le terrier du lapin qui corriger de petits détails de conception, et dans une certaine mesure, ils sont importants à Oui, j'ai également ajouté le flux de dépenses ici pour moi. Encore une fois, ce n'est pas parfait. Il reste encore des ajustements à apporter. Mais je pense que c'est le bon moment pour commencer à travailler sur l'authentification. En d'autres termes, permettre aux utilisateurs se connecter et de créer un compte. Pour cela, nous allons utiliser deux outils. Nous allons utiliser ATJS bibliothèque qui vous permet connecter vos utilisateurs à l'aide de différentes applications, comme Github et Google, Twitter, Apple, ainsi que Email, bien sûr Encore une fois, nous allons faire du MVP et nous en tenir aux e-mails pour le moment Mais évidemment, pour les configurer, vous pouvez également passer par là. Ils prennent juste un peu plus de temps et un peu plus de configuration en soi. Vous pouvez en fait suivre les instructions pour ceux-ci sur la façon de configurer, par exemple, Google. Pour l'instant, nous allons commencer par simplement se connecter par e-mail, afin que les utilisateurs puissent saisir leur e-mail. Je leur enverrai un lien magique pour se connecter. Et pour ce lien magique, nous devons réellement envoyer des e-mails. Pour envoyer des e-mails, nous allons utiliser cet outil appelé Renvoyer essentiellement qui vous permet essentiellement d'envoyer jusqu'à 3 000 e-mails par mois gratuitement C'est une excellente option. Alors allez-y et commencez à créer un compte pour Resend Je vais faire la même chose ici. C'est bon. Ainsi, une fois que vous êtes connecté, vous pouvez créer une clé d'API pour vos comptes, et c'est ce que vous pouvez faire. Et assurez-vous de le copier. Maintenant, ce que vous allez faire , c'est revenir dans votre curseur ou partout où vous avez vos fichiers et vous allez créer un nouveau fichier, et vous allez l' appeler exactement orthographié point ENV point Local Il s'agit donc d'un fichier d' environnement dans lequel toutes vos clés d'API seront stockées afin que ces clés d'API puissent être utilisées pour authentifier votre application par renvoi pour l'envoi d'e-mails Il s'agit d'un fichier super privé. Vous ne souhaitez pas le publier ou le publier sur GitHub. C'est pourquoi il se trouve automatiquement dans le fichier Ignorer, qui ignorera le téléchargement de ce fichier Ce fichier définit en fait ce qui sera envoyé sur GitHub par rapport à ce qui ne l'est pas et les fichiers ENV à points ne le seront pas Elles sont secrètes. Vous voulez le garder secret et le garder sur votre machine. Euh, donc pour le moment, vous pouvez vraiment le taper comme vous le souhaitez, mais j'aime simplement renvoyer la clé de soulignement de l'API de soulignement, égale à, puis y vous pouvez vraiment le taper comme vous le souhaitez, mais j'aime simplement renvoyer clé de soulignement de l'API de soulignement, coller votre valeur Une fois que vous avez collé votre valeur, appuyez sur Enregistrer, fermez ce fichier. Maintenant, nous voulons également configurer Auth JS. Nous allons donc demander à Cursor de nous aider dans ce domaine. Mais d'abord, je vais copier le design de nos écrans d'authentification. Je vais donc juste faire celui-ci ici. Je vais aller ici. Nous y voilà. Implémentons cet écran de connexion de Figma. Tout d'abord, allons-y et implémentons le design avant d' intégrer l'écran de connexion. Je vais juste m'assurer d'utiliser les éléments Shad CN. Et cette page devrait être slash Login. Je vous indique le nom pour le créer, même si vous l' auriez probablement découvert de toute façon, mais je vous dis de créer explicitement une page de connexion dans notre application Lorsque vous accédez à votre app.com, cliquez sur Login, people et sur cette page Nous allons commencer par cela. Nous reviendrons dans une seconde pour voir comment cela fonctionne. Passons à Slash Login. Et nous y voilà. Pas mal du tout, très proche de ce que nous avons. Nous nous occuperons du graphisme plus tard, une fois que notre application sera lancée. Mais c'est génial. Il y a encore des problèmes mineurs à corriger lorsque je passe le curseur sur les boutons, ce bouton de connexion n' affiche pas le bon curseur Encore une fois, pour ces petites choses, assurez-vous simplement de le faire savoir sur le bouton de connexion le bon type de curseur ne s'affiche pas. C'est ainsi que vous souhaitez aborder votre ensemble de correctifs petit à petit, un par un. Ensuite, nous voyons que nous avons une inscription. Nous n'avons pas encore d'écran d' inscription, donc je vais également lui demander de dupliquer cette page et de créer une version d'inscription sur Slash Signup Je fais la queue. Ensuite, il travaillera là-dessus. Pendant ce temps, nous reviendrons dans la prochaine conférence pour poursuivre notre configuration d'authentification. 19. Base de données: Bien, j'ai une page d' inscription à laquelle je vais accéder et avant que nous puissions réellement faire en sorte que notre authentification fonctionne vraiment, nous devons créer une base de données. La base de données est donc l'endroit où les données sont stockées. Ainsi, une fois qu'un utilisateur saisit son adresse e-mail, passe et souhaite créer un compte, c'est là que dans la base de données, un enregistrement de compte sera créé, et chaque fois que nous aurons besoin de mettre à jour cet utilisateur ajouter des voyages ou d'ajouter des dépenses. Tous ces éléments doivent être séparés. Vous pouvez les considérer comme des tables ou des catégories distinctes de documents dont nous avons besoin à l'aide d'une base de données. Pour notre base de données, nous allons utiliser MongoDB. Bien sûr, il existe d' autres options comme Postgres et Neon et bien d'autres Si vous en avez déjà l' habitude, choisissez-le. Sinon, démarrer avec Mongo DB est simple. Rendez-vous sur mongodb.com, lancez-vous. J'ai déjà un compte, je vais me connecter. Une fois connecté, assurez-vous de créer un nouveau projet. Je vais juste donner un nom à mon projet Trip Expense pour le moment. Encore une fois, vous pourrez le modifier ultérieurement. Appuyez sur Suivant. Cliquez sur Créer un projet. Ensuite, une fois que vous êtes ici, vous souhaitez créer un cluster. Le cluster est essentiellement un conteneur pour votre base de données. C'est ici que certaines options apparaîtront. Je vais choisir la version gratuite qui est suffisante pour commencer, puis au fur et à mesure que vous aurez de plus en plus d'utilisateurs, vous voudrez peut-être passer aux autres. Il suffit de laisser le cluster zéro pour le nom, puis laisser avec les paramètres par défaut, de créer un déploiement. Maintenant, tout de suite, vous verrez un nom d'utilisateur et un mot de passe ici. Vous allez continuer et appuyer sur Créer un utilisateur de base de données. Vous allez choisir une méthode de connexion et je vais choisir une boussole. Compass est donc une application qui vit sur votre machine et vous pouvez gérer essentiellement les données grâce à laquelle vous pouvez voir les données. Vous n'êtes pas obligé de vous connecter à mongodb.com à chaque fois sur votre navigateur En fait, vous pouvez simplement utiliser cette application MongoDB Compass pour ce faire Allez-y, téléchargez-le. Prenez une seconde pour le faire si vous ne l'avez pas. Je l'ai déjà, donc je vais cliquer sur J'ai installé Compass. Ensuite, ici, vous obtiendrez une chaîne pour votre connexion. Vous avez à nouveau besoin de cette chaîne pour l'avoir dans votre code. Assurez-vous de le copier. Cliquez sur OK ici. Retournez à votre code et à l'intérieur du point Local que nous avons créé, vous allez créer une nouvelle ligne, URI de soulignement Mongo est égal à, puis coller la chaîne que vous avez obtenue de Mongo DB Appuyez sur Enregistrer et fermez-le. Maintenant, une fois dans la boussole MongoDB, vous pouvez ajouter une nouvelle connexion, coller l'URI que vous avez obtenu Je vais changer le nom application Trip Expense ici , puis enregistrer et me connecter. Je suis donc à l'intérieur maintenant. n'y a pas encore de données, donc il n'y a rien que vous puissiez voir ici. Nous allons faire encore une chose. Vous allez revenir à votre adresse locale à la fin de votre chaîne où il est écrit mongodb.net slash, vous allez écrire Dev DEV Peu importe la façon dont vous l'écrivez ou même si vous écrivez le développement ou autre. Tout cela est juste pour créer un dossier appelé Dev ou un conteneur, vous pouvez y penser qui sépare essentiellement votre base de développement de votre base de données de test de votre production. Une fois que nous serons en ligne et que les autres utilisateurs pourront l'utiliser, vous souhaitez qu' il reste généralement sur un autre conteneur de votre base de données ou de votre cluster afin d'éviter toute confusion. C'est davantage une question d'organisation et de bonnes pratiques. Une fois que nous serons arrivés à la production réelle, vous verrez comment procéder. Mais pour l'instant, assurez-vous d'ajouter cette barre oblique Dev. Nous sommes tous installés ici. Revenons maintenant dans la prochaine conférence pour commencer à authentifier les utilisateurs 20. Finishing Authentication: Pour commencer à créer des utilisateurs. Une chose que je tiens à noter, c'est qu'en ce moment, dans mon application, nous avons cet e-mail et ce mot de passe. Je vais choisir de ne pas utiliser de mot de passe et de rester simple pour que les utilisateurs saisissent simplement leur adresse e-mail obtiennent un lien pour se connecter facilement à l'application. De cette façon, c'est beaucoup plus simple et ils n'ont pas besoin de se souvenir du mot de passe, etc. Évidemment, vous pouvez choisir de le faire si vous le souhaitez. Bien entendu, ces boutons ne fonctionneront probablement pas au départ. Plus tard, si nous avons le temps, nous pourrons toujours le configurer. Mais pour l'instant, concentrons-nous uniquement sur la connexion des utilisateurs par e-mail. Pour ce faire, je vais me rendre ici et participer à une nouvelle discussion. Nous allons installer Next Auth et implémenter l'authentification, cela fonctionne et également ajouter un modèle utilisateur et les fichiers nécessaires pour Mongo Vous allez écrire cela et en gros, tout ce que vous vous dites de faire est d'installer la prochaine bibliothèque JS dont nous avons parlé, puis elle créera un modèle utilisateur. Chaque fois que nous parlons de quelque chose comme un modèle, cela signifie essentiellement définir quels sont les paramètres d'un utilisateur. Par exemple, un utilisateur a un e-mail , un mot de passe, prénom, a des voyages qu'il a créés et des voyages peuvent être liés à un autre modèle, essentiellement. Il faut y voir les données relatives à l'utilisateur ou à tout autre modèle que relatives à l'utilisateur ou à nous sommes en train de créer. Une fois que nous aurons commencé à créer le modèle de voyage, nous aurons également besoin de champs de date à partir de quel jour. Hum, combien de personnes participent à ce voyage, qui participe à ce voyage ? Quelles sont les dépenses liées à ce voyage. Nous pouvons voir que Cursor en a déjà créé un pour notre utilisateur point js. C'est à ça que ça ressemble, non ? Nous avons le nom, l'e-mail, le mot de passe. Il a ajouté un mot de passe parce qu'il l'a vu dans les designs, mais encore une fois, nous n'en aurons pas besoin. Il s'agit d'horodatages, qui indiquent simplement quand cet utilisateur a-t-il été créé ? Quand ont-ils été mis à jour pour la dernière fois ou quand leurs données ont-elles été mises à jour pour la dernière fois ? Par défaut, ils devraient être présents. Nous allons conserver ce dossier. J'ai fait une erreur ici et j'ai oublié de lui dire de supprimer passe et d'utiliser le renvoi pour envoyer des e-mails de vérification C'est ce que je fais exactement en ce moment, lui demandant de supprimer le mot de passe de l'application et de l' authentification et d' utiliser le champ e-mail et de le renvoyer pour vérification Je vais attendre que ça se termine, puis je reviendrai. Une autre chose que vous devez faire pour Next Auth fonctionne, c'est que nous avons besoin cette clé secrète d'authentification pour pouvoir l' intégrer ou l'ajouter à notre fichier local ou à notre fichier d' environnement Copiez simplement ce NPxotSecret d'ici, puis exécutez-le dans Je vais ouvrir un nouveau terminal ici, puis l'exécuter. Tu fais de même. Ensuite, il peut vous demander d' installer un nouveau package, alors tapez simplement Y et appuyez sur Entrée comme pour oui. Je vais vous donner une certaine valeur. Assurez-vous simplement de le copier et de le mettre dans votre propre fichier local. Cursor m'a même préparé un exemple pour voir quelles sont les choses dont j'ai besoin. J'ai également besoin de ce récent e-mail. Assurez-vous de l'ajouter . Pour les tests, vous pouvez simplement le conserver comme ça. Une fois que nous avons acheté un domaine, nous voulons réellement utiliser le domaine réel. vais redémarrer mon serveur en appuyant sur Control C puis en montant ici pour exécuter NPM Run Dev J'utilise simplement la flèche vers le haut pour revenir à la dernière commande que j'ai écrite, j'appuie sur Entrée, puis j'ouvre mon projet une fois de plus. Nous avons cet e-mail. Bon retour. Maintenant, je n'ai pas de compte, alors je vais m'inscrire. Assurez-vous de saisir ici l'adresse e-mail à laquelle vous vous êtes inscrit avec Resend à des fins de test. Nous y voilà. Quand je consulte mes e-mails, je reçois quelque chose comme ça. Il semblerait que nous n'ayons pas collé correctement le secret suivant, tel qu'il figure dans cet exemple de fichier. Alors testons cela une fois de plus, cliquez pour vous connecter, et voilà. Nous sommes connectés. Nous avons en fait un utilisateur maintenant. Notre e-mail est indiqué ici, nous pouvons nous déconnecter d'ici. Si je vais sur notre boussole Mongo DB et que je rafraîchis cette application de frais de voyage, nous pouvons voir que nous avons maintenant ce dossier Dev parce que nous avons mis cette barre oblique Ensuite, si je vais ici, nous avons des utilisateurs, et c'est parti. C'est mon utilisateur, donc il y est apparu . Nous n' avons pas de nom ici. Peut-être que dans la page d'inscription, nous pouvons l'avoir pour que l' utilisateur y inscrive son prénom. À l'origine, pour ce qui est de mon design, je pensais créer une page séparée, mais c'est stupide de n' avoir qu'un seul champ ici Je vais créer un nouveau chat et demander à Cursor d'ajouter un nouveau champ de nom à la page d'inscription ci-dessus. Le prénom de l' utilisateur est également enregistré dans la base de données, abréviation de base Je vais laisser cela fonctionner et nous aurons pratiquement terminé notre authentification. Nous avons maintenant des utilisateurs, une base de données et nous sommes sur le point de rendre cette application pleinement fonctionnelle. Revenons ensuite pour nous concentrer sur le fait de permettre aux utilisateurs de créer des voyages. 21. Créer des voyages: C'est bon. Je pense que je suis prêt à commencer à créer un nouveau voyage ici afin que les gens puissent cliquer sur Créer un nouveau voyage. Je pense à MVP, restez simple, modèle d'alerte rapide qui s'affiche, leur demande le nom du voyage, et les dates, les dates seront facultatives, mais je vais garder ça là Et je vais m'assurer d' utiliser les composants Hat CN car ils ont déjà des sélecteurs de dates, vous n'avez donc pas besoin de le découvrir Ensuite, pour le reste, nous n'avons pas vraiment besoin de quoi que ce soit d'autre de la part de l'utilisateur. Alors peut-être que je vais juste avoir un rapide lien de création de voyage et d'encre et de copie du lien d'invitation. Ils le font simplement et ils peuvent ensuite envoyer à qui ils veulent participer à leur voyage. Commençons par ça. Je vais y retourner et créer une nouvelle discussion ici et dire, euh, faisons en sorte que l'ajout d'un voyage soit fonctionnel. Les utilisateurs peuvent ajouter un nouveau voyage. Assurez-vous de l'ajouter au modèle utilisateur. Assurez-vous de créer un nouveau modèle de voyage. Encore une fois, le modèle ci-dessous est façon dont nous suivons différents types de données Un voyage doit avoir ses propres données distinctes de celles de l'utilisateur, et le voyage inclura des éléments tels que, comme nous en avons parlé avant le nom du voyage, euh, le nombre de dépenses ou les dépenses correspondantes, qui fait partie de ce voyage afin que nous puissions réellement montrer ou permettre aux utilisateurs de voir les bons voyages, etc. et ainsi de suite. Donc, dans le cadre de ce modèle de voyage, je vais simplement écrire dans le cadre du modèle de voyage, assurez-vous d'ajouter le nom de propriétaire suivant, donc qui a créé ce voyage, les utilisateurs qui en font partie. Plus tard, nous ajouterons les dépenses. Comme nous n'avons pas de modèle de dépenses, nous allons simplement le laisser de côté. Date de début, date de fin des voyages. Nous n'avons pas vraiment besoin d'un lieu, ce serait juste le nom. De quoi d'autre avons-nous besoin ? Je pense que c'est une bonne chose pour commencer. Ensuite, nous allons lui demander de créer un nouveau modèle à l'aide Shad CN, les composants qui apparaîtront lorsque l'utilisateur cliquera, créera un nouveau voyage et ne demandera que le nom, les dates et les dates de début Rendez les dates facultatives, mais le nom est obligatoire et lancez le CTA principal ou l'appel à l'action, créez un voyage et copiez le lien d'invitation avec un CTA secondaire pour simplement créer Nous allons l'exécuter, lui donner une seconde et revenir pour voir ce que cela fait. Il est important de savoir ce qui se passe en arrière-plan lorsqu'il fait ce truc et qu'il ajoute cela. Je veux m'assurer que vous comprenez ce que fait l'agent d'IA en arrière-plan, car encore une fois, je pense qu'il est important d' avoir également des informations générales. Il fait certaines choses. Il s'agit de créer un modèle pour notre voyage. Si nous continuons ici, nous voyons toutes les données que nous lui avons demandées. J'en ai même ajouté d'autres comme le code d'invitation que je ne lui ai pas demandé d'ajouter, mais il le fait de telle sorte qu'il peut générer un code de voyage que les gens peuvent s'envoyer les uns aux autres. Il a également créé une route API. La route de l'API est essentiellement un moyen pour le front-end de communiquer avec le back-end et de faire des choses telles que créer de nouveaux voyages. Si nous allons ici, il fait certaines choses en vérifiant d'abord si l'utilisateur est authentifié. Il effectue quelques vérifications initiales, en s'assurant que le nom du voyage est ajouté. Si l'utilisateur ne les ajoute pas et essaie de créer un nouveau trajet, cette route d'API l' empêchera essentiellement de le faire. Mais si tout semble correct, il pourra alors créer le voyage avec les informations suivantes : nom, à qui appartient, qui en fait partie, où se trouvent les utilisateurs, quelle est la date de début ? Quelle est la date de fin. Essentiellement, ce code ne fait que permettre au front-end communiquer avec le back-end en utilisant cette route d'API. Hum, de toute évidence, il fait des suppositions à lui tout seul. L'IA le fera donc si vous ne lui donnez pas suffisamment d'informations ou de contexte. Je crois que je n'ai pas complètement parlé de ce que nous voulions faire sur la page des voyages, qu'il s'agisse de remplacer le type de cartes vides ou de fausses cartes que nous avons créées jusqu'à présent. Voyons ce qu'il fait, puis partons de là. D'accord, il semble donc que je n'ai pas de voyage pour le moment. Il n'a pas encore implémenté la page vide que j'ai déjà conçue, mais je ne lui ai pas encore donné cette page. C'est la prochaine étape dans les choses à faire. Mais essayons de créer un nouveau voyage. Appelons-le Bali 2025. Date de début Choisissons le 2 mars, faisons le 6, créons un voyage et copions l' encre d'invitation, échouons à créer Trip. Il s'est passé quelque chose. Voyons ce qui s'est passé. Ici, dans votre terminal, vous verrez toujours les erreurs qui ont pu se produire. Il semblerait qu'il y ait eu une erreur en rapport avec le suivant écrit ici. Ce que vous pouvez faire ici dans le curseur, c'est que vous pouvez réellement faire et ensuite accéder aux terminaux et vous pouvez sélectionner « c' est le terminal du nœud Vous pouvez donc sélectionner le terminal du nœud et dire «  nous avons eu une erreur et le laisser le résoudre ». On dirait que c'est réglé. Essayons encore une fois. Et il y a toujours un problème. Encore une fois, répétez exactement le même processus. Il y a une autre erreur, il semble que l'erreur soit ailleurs maintenant. Voyons si nous pouvons y remédier. Plusieurs fois le charme. Appuyons sur Créer un voyage et copions l'encre d'invitation. Boum, c'est toujours une erreur. Après les corrections, assurez-vous d'arrêter le serveur de temps en assurez-vous d'arrêter le serveur Appuyez sur Control C dans votre terminal et relancez votre environnement de développement , relancez votre application, puis recommencez. Bali 2025 et nous allons fixer quelques dates, même si ce n'est pas nécessaire. Et nous y voilà. Nous sommes à Bali 2025. Il a même créé ce lien ici. Maintenant, je ne suis pas sûr qu'il ait réellement copié le lien. Essayons de créer lui-même une encre d'invitation et nous l' exécutons à l'extérieur. Nous n'avons pas le bon lien ici, donc la partie invitation n'a pas été correctement implémentée, mais c'est simplement parce que nous nous sommes précipités dans la création du voyage et que nous n'avons pas donné plus de détails sur la façon dont il gérera les invitations d'amis, etc. Ma logique est donc la suivante finalisons d' abord la création du voyage. Faisons en sorte de créer des dépenses et de comprendre tout cela. Ensuite, nous allons travailler sur la manière dont les utilisateurs peuvent réellement inviter des amis à les rejoindre. Pour le moment, c'est incroyable. Si nous revenons ici, le voyage a été créé, et ce n'est pas simplement faux, mais il est en fait passé par notre agenda et si nous actualisons notre boussole Mongo DB, nous pouvons voir que nous avons ce dossier de voyages ici maintenant avec tous les voyages que nous avons créés, celui-ci que nous avons créé, nous pouvons voir qui en fait partie Avez-vous déjà vu un ID d'objet faisant référence à une autre table d'un autre dossier ? C'est l'utilisateur que j'ai ici. C'est l'identifiant de l'objet ici. Il correspond à l'utilisateur ou au propriétaire et , en tant qu'utilisateur, c'est aussi mon compte. Je suis à la fois le propriétaire et l'utilisateur de ce voyage, ce qui est logique. Nous avons la date de début et la date de fin. Il a créé un code d'invitation. Encore une fois, nous n'avons pas donné plus d'informations sur le fonctionnement des invitations, mais nous le ferons plus tard, une fois que j'aurai terminé le processus complet pour un voyage. Revenons et travaillons réellement sur les dépenses. Hum, puis passez aux invitations. 22. Flux de dépenses: Il semble donc que nous sommes sur la bonne voie. Alors pourquoi ne pas continuer à avancer en concrétisant les dépenses ? Ajoutons donc des fonctionnalités aux dépenses, créons un modèle de dépenses avec tous les paramètres nécessaires et veillons à ajouter les dépenses au modèle de voyages, si ce n'est déjà fait. Assurez-vous que les dépenses calculent réellement les soldes des différents utilisateurs. Nous y voilà. Nous sommes en train de le faire passer. Il est temps de tester notre flux de dépenses. Ajoutons une dépense. Disons que c'était 20$ et que c'était pour faire les courses. Et évidemment, je n'ai ajouté qu' une seule personne au voyage, donc cela n'a pas vraiment de sens. Mais allons-y, disons-le et voyons si cela fonctionne. Nous y voilà. Cela a été ajouté. De toute évidence, il faut du travail pour le moment , afficher l'e-mail ici au lieu du prénom. Je suppose que quelque part dans le code, l'e-mail s'affiche s' il n'y a pas de nom pour l'utilisateur, testons-le Je vais aller sur Mongo DB Compass et au lieu que le nom soit vide ou nul, allons-y et modifions-le Si nous appuyons sur Mettre à jour, définissons le nom. À Nima Tahami. Cet ensemble change essentiellement ce nom en Nima Tommy. Habituellement, vous pouvez le modifier directement ici, mais comme il était nul, nous avons dû le faire comme ça. Maintenant, si nous sommes frais, nous avons un nom. Si je rafraîchis l' application, et c'est parti. J'avais raison, le code remplace le nom par e-mail. Si l'utilisateur n'a pas de nom, il l'affichera. Mais j'ai veillé à ce qu'à partir de maintenant, je collecte les noms des utilisateurs dans le flux d'inscription pour voir si nous revenons à tous les voyages et que nous nous déconnectons. Allons nous inscrire maintenant. Je vais vous demander votre nom complet, à moins que vous ne mettiez votre nom complet, je ne vous laisserai pas vraiment vous inscrire, vous devez inscrire votre nom complet. Nous y voilà. Le flux de dépenses fonctionne également. Si nous actualisons notre base de données ici, je devrais voir les dépenses dans un tableau distinct, et c'est parti. Nous avons le voyage auquel il appartient, euh, payé par, qui a réellement payé ce voyage ? Quel en était le montant ? Quelle est la description ? Comment est-il divisé ? Il a en fait gardé tout cela à l'esprit, ainsi que les scissions. Qui doit combien ? Ça a l'air plutôt bien. Je ne vais pas mentir. De toute évidence, il y a encore des améliorations que je peux apporter à cela pour permettre aux utilisateurs de supprimer les dépenses, en m'assurant que cette répartition fonctionne correctement. À l'avenir, je vais faire quelques tests pour m' assurer que cela fonctionne. Prochaine étape, je vais faire fonctionner le flux Inviter des amis afin que les utilisateurs puissent copier un lien ici, appuyer sur Inviter des amis, copier un lien, puis inviter d'autres amis à rejoindre l'application. Le problème est qu'à l' heure actuelle, nous ne pouvons pas créer plusieurs comptes, car Resend nous permet uniquement d' envoyer des e-mails à partir de domaines que nous possédons et nous n'avons pas vraiment marque pour cette application, ni trouvé de domaine ou quoi que ce soit d' Nous devons faire une pause, parler un peu de l'image de marque , trouver un nom et tout ça. Une fois cela terminé , nous pouvons réellement continuer à tester ce flux. Pour l'instant, je n'ai pas à m'inquiéter à ce sujet. C'est davantage en phase de test. Pour l'instant, je vais d'abord m' assurer qu' il est implémenté et que cette option Inviter des amis fonctionne. Les utilisateurs qui ne sont pas authentifiés peuvent voir la page, juste les informations sur le voyage ici, et peut-être un bouton pour rejoindre le 23. L'image de marque: Nous devons donc créer une marque avant de continuer. Tu sais, à un moment donné de ton projet, tu dois le faire. C'est l'une de ces choses qui prennent parfois un peu de temps à trouver, surtout pour choisir le bon nom, le bon logo, polices, les couleurs, etc. Je suis confronté à ce problème à de nombreuses reprises, comme vous pouvez l'imaginer, euh, en créant, je ne sais pas, plus de 16 applications. Alors, créez moi-même une application pour vous aider. Maintenant, bien sûr, vous pouvez également le faire dans ChatGPT Vous n'avez pas besoin de le faire exactement dans cet outil, mais j'ai essentiellement assemblé cet outil pour être en mesure de vous donner une image de marque rapide, y compris des couleurs, des idées de domaines , des idées de noms, etc. Je possède donc déjà un domaine tripvela.com, et comme je l'avais pour un projet précédent qui n'a jamais vu le jour, je souhaite l'utiliser pour ce projet car il est très pertinent, mais je n'ai pas de logo pour celui-ci et je n'ai pas vraiment de polices et de couleurs spécifiques Je vais donc utiliser le kit Brand pour le trouver. Vous allez écrire la marque ou, vous savez, l'idée ici, une application pour aider les amis à partager les dépenses des voyages. Comme j'ai déjà un nom, je vais dire qu'il s' appelle Tripvela Je n'ai pas besoin du nom D. J'ai juste besoin du logo et peut-être de quelques couleurs de police. Ça va prendre une seconde ici. De toute évidence, Tripvela est un nom. Voici un logo simple que je peux utiliser. Il s'agit d'un logo de base, mais vous pouvez également en obtenir un premium. Je vais essayer le logo premium. Cette palette de couleurs n'est pas mal, mais je vais la changer et essayer de voir ce que nous pouvons obtenir d'autre ici. C'est une bonne idée. Ce gris est beau aussi. Je pourrais utiliser certaines de ces couleurs. Mais pour l'instant, voyons voir, c' est le logo premium qu'il a créé. Donnons-lui encore une chance. Évidemment, tripl.com est utilisé parce que c'est le domaine que j'ai, mais il vous montre également d'autres domaines disponibles Si vous voulez d'autres noms, vous pouvez les mélanger. Vous n'êtes pas obligé d'inscrire votre propre nom dans l'outil. Tout est associé à une signature e-mail pour vous, vous pouvez donc l'utiliser pour votre e-mail. N'hésitez pas à jouer avec ça, à trouver une idée de nom, à trouver des polices et des couleurs. Encore une fois, vous pouvez l'utiliser ou vous pouvez discuter avec ChatGPT pour le trouver, puis acheter un domaine Assurez-vous d'acheter un domaine, puis de revenir pour intégrer votre domaine dans Resend, afin que nous puissions créer plusieurs utilisateurs afin que nous puissions réellement tester notre flux d'invitations ou du moins pour mon application Si votre candidature est différente et que vous n'avez pas besoin de le faire, vous pouvez la laisser jusqu'à la fin. Je te verrai dans une minute. 24. Connecter le domaine à renvoyer: J'espère que vous avez déjà acheté le domaine que vous allez utiliser pour votre projet. Une fois que vous l'avez fait, j' utilise maintenant Namechep ici, donc vous utilisez peut-être Go Daddy, Namechep Assurez-vous de trouver la section DNS avancé afin de pouvoir ajouter des enregistrements ici. Ces enregistrements nous permettront d' envoyer des e-mails à renvoyer aux utilisateurs Nous devons passer sous les domaines ici resend.com sur un Écrivez votre domaine. Vous pouvez également ajouter un domaine. Vous pouvez envoyer des e-mails depuis, par exemple, notification dotdmain.com Je vais faire de même. Je vais utiliser notifications.tripvela.com , qui est mon domaine. Ensuite, nous allons ajouter un domaine. Alors je vais vous donner quelques instructions ici. Vous pouvez même regarder une vidéo si vous le souhaitez. Mais c'est assez simple. Tout ce que vous avez à faire est de copier ces enregistrements dans votre DNS, chez votre fournisseur de domaine. Vous allez ajouter un nouvel enregistrement. Si vous regardez en arrière, il s'agit d'un enregistrement TXT, vous souhaitez sélectionner un enregistrement TXT. Pour l'hôte, encore une fois, collez ce que vous voyez ici. Pour la valeur, collez ce que vous voyez ici, vous pouvez simplement le copier facilement et vous assurer que vous le faites correctement. Prends ton temps avec ça. Vous allez également faire un enregistrement MX. Les disques MC sont en fait ici. J'ai déjà envoyé des notifications par points. Alors je veux copier celui-ci ici. Pour ajouter un autre enregistrement MX, en fait, ou en fait, il s'agit d'un enregistrement TXT, pas d'un enregistrement MX, mais d'un autre enregistrement TXT ici, collez l'hôte et collez celui-ci ici, la valeur. Nous les avons déjà faites ici, et celle-ci est facultative, mais je vous recommande de le faire. Un autre enregistrement TXT. Alors, appuyez sur Entrée. La seule chose que je veux m' assurer que vous faites également est de fixer la priorité à dix pour l'enregistrement MX. Comme nous n'allons pas recevoir d'e-mails à ce sujet, il sera simplement envoyé aux utilisateurs pour qu'ils se connectent. Il n'est pas nécessaire d' activer la réception. J'ai ajouté les enregistrements , puis il vérifiera le DNS. Donnez-lui juste un peu de temps. Si vous l'avez bien fait, tout sera bientôt vert. Vous savez alors que vous avez cette configuration et que vous pouvez commencer à envoyer des e-mails à partir de ce domaine. Parfois, cela peut prendre un peu plus de temps que d'habitude, laissez-lui un peu de temps. Cela peut prendre jusqu'à quelques heures ou minutes, mais cela se fait généralement instantanément et nous sommes vérifiés. Nous sommes prêts à partir. Maintenant, tout ce que nous avons à faire est de retourner à notre base de code et de nous assurer que dans la base de code de votre local à points, la base de code de votre local à points, comme dans l'exemple sur point ici, modifiez le renvoi d' un e-mail vers l'e-mail que vous venez de créer Mais bien sûr, vous venez de créer un domaine. Le mien était une notification, point tripvela.com, mais vous avez besoin d'un début pour l'e-mail et pour celui-ci, en général, vous pouvez faire quelque chose comme ne pas répondre Aucune réponse sur notifications.tripvela.com. Je vais juste vérifier que c'est ce que j'ai ici. Assurez-vous de remplacer e-mail renvoyé par e-mail afin qu'il sache et qu'il soit envoyé à partir du bon e-mail Je suis juste en train de tester cela à partir d' un autre e-mail pour voir si cela fonctionne. Je vois que ça marche. Maintenant, je le reçois notifications Tripvela sur tribella.com, envoie et je peux le Maintenant que nous avons créé un autre utilisateur, je peux créer des voyages sous cet utilisateur. Mais ce qui m' intéresse, c'est de pouvoir participer à un voyage que quelqu'un d'autre a déjà fait. Revenons et travaillons sur ce flux lors de la prochaine conférence. 25. Configuration des amis: Ainsi, à partir de l'utilisateur que je viens de créer, qui est un autre utilisateur avec lequel j'ai créé le voyage initial, j'ai essayé d'accéder au même lien que cet utilisateur avait pour ce voyage. Voici le lien pour ce voyage. Mais maintenant, ce que je constate, c'est que je n'ai pas accès à ce voyage. Comme je ne suis pas le créateur du voyage et que je ne fais pas partie des utilisateurs du voyage, je ne peux pas y accéder. Mais ce que nous voulons, c'est montrer certaines informations sur le voyage, peut-être juste cette partie supérieure, qu'il s'agit d'un voyage à Bali, c'est le propriétaire, que ce sont les dates et le nombre de personnes qui y vont. Euh, et au lieu de voir toutes les autres informations, comme les soldes et l'activité du voyage , parce que cela ne me concerne encore, je n'ai pas rejoint le voyage. Ce que nous pouvons faire, c'est avoir un bouton qui indique de rejoindre ce voyage pour voir l'activité ou quelque chose comme ça. Ils cliquent sur le bouton. Ensuite, s'ils n' ont pas de compte ou s'ils sont déconnectés, il leur sera demandé de créer un compte ou de se connecter. Une fois cela fait, ils devraient être en mesure de faire automatiquement partie de cette bande, puis de voir tous les soldes et l'activité du voyage. Pour l'instant, nous allons le dire à Cursor ou à l'agent Cursor AI. Nous voulons permettre aux utilisateurs anonymes ou connectés, ils soient anonymes ou connectés, mais qui ne participent pas à un voyage, de voir des informations de haut niveau sur le voyage. Cela inclut uniquement la partie supérieure, non les sections relatives au solde ou aux activités du voyage. Il devrait plutôt y avoir un bouton pour rejoindre le voyage. Si un utilisateur clique dessus, il doit être redirigé vers la page de connexion, et s'il ne fait pas partie du voyage, il doit alors participer au voyage et voir toutes les informations pertinentes. Ce que nous vous disons de faire c' est que nous voulons les internautes puissent trouver cette bande par ce lien. Si vous avez ce lien, cela signifie que vous pouvez accéder au voyage. Quelqu'un qui a accès à ce lien l' a donc partagé avec vous. Il ne s'agit donc pas d'un lien accessible au public que tout le monde connaît. C'est un lien unique. Comme vous le voyez ici, il contient un identifiant que les gens ne trouveront généralement pas. À moins que quelqu'un n'ait partagé ce lien avec vous, de la même manière qu'un lien Google Dog ou Figma fonctionne également Les utilisateurs peuvent accéder à cette page, mais ils ne peuvent voir aucune donnée tant qu'ils créé un compte et n'ont pas rejoint le voyage. C'est ainsi que nous verrons des amis participer au voyage. En tant que propriétaire du voyage, j'enverrai ce lien à mes amis, puis les autoriserai à créer un compte ou à se connecter s'ils en ont déjà un pour participer à ce voyage et participer à l'ajout dépenses et à la consultation des soldes qu'ils doivent ou doivent. Je vais laisser cela se terminer , puis nous reviendrons pour voir à quoi cela ressemble à partir de là. 26. Tester les liens d'invitation: Euh, j'ai transmis une autre demande à Cursor une fois que c'est fait, et j'ai dit que lorsqu'un utilisateur clique sur Inviter des amis et j'ai dit que lorsqu'un utilisateur clique sur Inviter des amis, montrez-lui un toast, ce qui signifie un petit message indiquant succès, etc., ou des erreurs, disant lien copié, envoyez-le à un ami ou deux, c'est juste un message amical, puis copiez-le dans son presse-papiers pour qu'ils puissent l'envoyer Parce que j'ai remarqué que lorsque je vais sur Inviter des amis, cela ne fonctionne pas, alors je me suis assuré qu'il ajoute également des fonctionnalités pour cela. N'hésitez pas à toujours envoyer plusieurs invites pour pouvoir ajouter des éléments dans la file d'attente sorte qu'une fois que l' agent AI a fait une chose, il fonctionne également sur une autre Bien entendu, vous pouvez exécuter des agents en parallèle en créant un nouvel agent et en faisant exécuter plusieurs agents en parallèle. ce que j'aime faire si je travaille sur quelque chose d'un peu plus compliqué. Ce projet est suffisamment simple pour que nous puissions simplement en exécuter un à la fois. C'est bon. Nous allons le tester. Nous allons aller ici et y jeter un œil tout de suite, même si ce n'est pas mon voyage, c'est un voyage auquel j'ai accédé un autre compte utilisateur que j'ai. Je peux en fait participer au voyage. Donc, si je clique sur Joint Trip Boom, je peux voir toutes les informations et je peux même ajouter une dépense. Nous y voilà. Cet utilisateur s'appelle Tim Cook, donc je peux voir les dépenses ici. Si j'ajoute 20 ici, vous pouvez voir que c'est tout aussi beau si je fais le pourcentage. Le pourcentage ne fonctionne pas correctement. Il doit être calculé en pourcentage, donc il va changer ces champs en pourcentage. Même chose pour le dollar et même chaque jour. De toute évidence, il faut y travailler. Nous ne sommes pas encore là pour perfectionner quoi que ce soit. Nous sommes là juste pour nous assurer que la base fonctionne, puis nous allons commencer à faire de petits ajustements. Si j'ajoute une dépense, d'accord, celle-ci sera ajoutée. Magnifique. Il est montré partagé entre cette personne et cette personne. Encore une fois, de petits ajustements ici et là à faire. Je peux voir que 10$ me sont dus, donc c'est bien et je peux le marquer comme payé, mais cela ne fonctionne pas car jusqu'à présent, cela n'a pas été implémenté. Nous allons également nous assurer que les équilibres sont correctement mis en œuvre. Nous allons donc aller de l'avant et le faire également. Mais pour l'instant, nous pouvons voir que tout fonctionne bien pour que d'autres utilisateurs puissent participer aux voyages. Nous avons deux problèmes avec Next JS . Chaque fois que vous avez des erreurs, il suffit de les copier sur Cursor comme ceci, d'ouvrir une nouvelle discussion partager l'erreur et j'espère que nous la corrigerons . Même chose pour celui-ci. Je vais le faire dans un nouveau chat. Je vais lui demander de corriger ces erreurs. Vous travaillez également sur vos fonctionnalités , puis nous reviendrons lors de la prochaine conférence pour travailler sur les soldes afin que les gens puissent réellement voir ses soldes C'est intelligent et calcule automatiquement ou simplifie la dette, comme le fait Spitwise Ensuite, une fois que ce sera prêt, je vais apporter quelques petites modifications. Je reviendrai vous expliquer les modifications que j'ai apportées. Nous pouvons voir que ces erreurs ont disparu d'ailleurs, donc c'est bien. Mais pour l'instant, je pense que nous sommes presque prêts. Si je participe à tous les voyages, je peux voir ce voyage ici. Ce n'est pas juste parce que cela ne parle que de vous, mais cela devrait en fait indiquer le nombre de personnes participant ce voyage, car il n' y a pas que moi maintenant, il y a trois membres, mais cela devrait être deux. Encore une fois, de petites erreurs ici et là. Notez toutes les erreurs que vous voyez. Lorsque vous testez votre application de cette manière, notez tous les problèmes qui surviennent afin de pouvoir les résoudre un par un. Hum, c'est la meilleure chose à faire. N'essayez pas de régler tous les problèmes en même temps. curseur peut compliquer encore plus les choses, mais j'ai une liste de choses à faire, y compris, vous savez, un meilleur format pour afficher la répartition entre une meilleure icône ici, afin que cette icône puisse changer en fonction du nom de la dépense, euh, vous savez, en ce moment, cela m'a permis d'ajouter une dépense sans dire à quoi elle servait. Donc, il y a pas mal de choses à corriger ici en examinant des problèmes tels que la raison pour laquelle il a choisi trois membres. Je vais revenir et apporter ces modifications à la toute fin. Enfin, avant de terminer notre MVP, je veux également m' assurer que l'application est également adaptée aux mobiles au cas où les utilisateurs essaieraient d' y accéder sur mobile, ce qui, j'en suis sûr, sera le cas pour une application comme celle-ci Il se peut que nous devions également apporter quelques ajustements à cela. Revenons, travaillons sur les équilibres, veillons à ce que les fonctionnalités fonctionnent, puis passons aux petits correctifs et aux écrans mobiles. 27. Ajouter des équilibres: De retour dans l'application, j'ai créé un autre utilisateur et j'y ai ajouté une autre dépense. Maintenant, mon solde est nul car un utilisateur me doit 10$, l'autre, je dois 10$. Maintenant, je veux m'assurer que cette fonction d'équilibre fonctionne et que les utilisateurs peuvent réellement marquer les choses comme payées. Je veux m'assurer que les dettes seront simplifiées afin que, si les utilisateurs se doivent entre eux, cela simplifie qui doit payer qui, afin que les gens du monde entier n'aient pas à effectuer transactions ou de virements, et cela simplifie simplement la tâche pour savoir qui doit à qui afin de réduire le nombre de transactions requises. Il y a évidemment d'autres choses que je voudrais régler, mais avant cela, je vais me rendre sur Cursor, ouvrir une nouvelle discussion et nous allons dire que je veux faire en sorte que l'équilibre fonctionne et soit fonctionnel. De telle sorte que les utilisateurs peuvent l'utiliser pour suivre le paiement de chaque utilisateur à qui ils doivent de l'argent ou à qui ils doivent de l'argent. Je souhaite également que le calcul des soldes soit simplifié afin de calculer automatiquement qui doit payer quel montant afin de favoriser le moins de transactions ou de transferts que les utilisateurs doivent effectuer entre eux pendant le voyage Ajoutez un bouton en haut à droite des soldes, en disant que le calcul automatique est activé S'ils le désactivent, indiquez le montant que chaque utilisateur doit ou doit à l'utilisateur. clair et simple, je vous dis C'est clair et simple, je vous dis de le rendre fonctionnel, de le suivre dans la base de données, de savoir qui a payé qui pour que l'utilisateur puisse le voir ici, de sorte que, par exemple, si je payais cet utilisateur ici, il en garde une trace. Ou je suppose que, dans ce cas, si l'utilisateur m'a payé, je peux dire que Mark a payé. en va de même pour celui-ci, gardez-le en compte et mettez-le en ligne, puis simplifiez les dettes afin que, si les utilisateurs se doivent les uns aux autres, il effectue le moins de transferts nécessaires, comme il le fait en deux parties. Ce sont deux modifications que j'ai apportées. Voyons comment ils s'en sortent. regarde Cursor en train de faire quelque chose parce que parfois je remarque qu'il essaie de faire quelque chose de nouveau. Je lui ai demandé de m'assurer que le bouton payant fonctionne ici et je voulais créer une nouvelle liste dont nous n'avons même pas besoin. Maintenant, les calculatrices automatiques sont activées et si je vois un autre utilisateur, elles fonctionnent parce qu'en ce moment, elles sont éteintes et je vois que ces deux personnes me doivent 10$ chacune Mais si je fais le calcul automatique, cette personne me paie 20 dollars et je suis réglé. Cela fonctionne, c'est bien, mais nous devons nous assurer que le mark paid fonctionne également. Cela dit que cela fonctionne maintenant, voyons voir. Il a simplement disparu de là. C'est intéressant. Nous allons nous assurer que les cartes ne disparaissent pas. J'y ai parlé trop tôt. Il travaille toujours sur cette fonctionnalité, nous allons donc lui donner un peu de temps maintenant. Nous voyons que cela fonctionne maintenant. Je peux annuler ces paiements, les marquer comme payés. Il y a des problèmes liés à la duplication des cartes Je vais m'assurer qu'il conserve réellement la même carte et qu'il la change simplement. Au cours de ce processus, je me rends également compte qu' il existe une lacune en matière d'expérience utilisateur qui pourrait être améliorée. J'ai utilisé le split wise d'innombrables fois et l'une des choses est qu' on ne sait jamais quand agir. Quand devriez-vous réellement commencer à payer d'autres personnes ? Ce que je pense faire, c'est ajouter un bouton de règlement que le propriétaire du voyage pourra utiliser. Ils ont un bouton indiquant, euh, régler, qui clôturera activité du voyage afin que les gens ne puissent plus ajouter de dépenses. Ensuite, il enverra un e-mail à chaque participant dire combien il doit exactement à qui. De cette façon, ils n'ont même pas besoin de se rendre sur l'application pour la voir et ils peuvent simplement avoir un simple bouton dans l'e-mail indiquant que Mark a payé. Je vais travailler sur la prochaine conférence, puis m' assurer que toute la boucle est bouclée avant de revenir et de simplement résoudre quelques problèmes supplémentaires liés à l'application, puis nous devrions être prêts à partir. 28. Conclusion: C'est bon. Voici où nous en sommes. J'ai demandé à Cursor d'ajouter ce bouton «   prêt à régler ». Maintenant, en tant que propriétaire de ce voyage, je peux indiquer que c'est prêt à être réglé. Nous y voilà. C'est prêt à être réglé. Je ne peux plus ajouter de transactions ici, et les autres participants au voyage ne peuvent pas non plus dire ce qu'ils doivent faire. Voici un utilisateur qui dit que tout est prêt. Incroyable. En voici un autre qui dit que vous devez 20$ à cet utilisateur. Nous y voilà. Cela fonctionne plutôt bien maintenant pour un MVP, c'est très bien Nous avons un bouton d'annulation si vous en avez besoin ici. Ensuite, j'ai compilé une liste de toutes les petites et grandes corrections sur lesquelles je souhaite travailler. De toute évidence, ce serait trop pour moi , pour que nous le fassions ensemble, et c'est un peu redondant car je vais simplement introduire ces notes d'interface utilisateur dans Cursor pour qu'il les corrige une par une Ensuite, je vais faire des tests, m'assurer que cela fonctionne et essayer de ne pas y consacrer trop de temps. Bien entendu, il est important de ne pas expédier de produits pour poussettes. Mais pour moi, cela va probablement prendre quelques heures au maximum, sorte que d'ici la fin de la journée, j'aurai une version fonctionnelle de Tripvela puis nous reviendrons et découvrirons comment nous pouvons réellement faire passer reviendrons et découvrirons comment nous pouvons réellement faire notre application via Verso pour qu'elle soit mise en production afin que les utilisateurs puissent réellement visiter notre domaine, voir production afin que les utilisateurs puissent réellement visiter notre domaine, voir notre application et s'y inscrire Maintenant, une chose importante que nous n'avons pas encore mise en œuvre, c'est aussi le paiement. Possibilité d'autoriser les utilisateurs à payer pour ce produit. Ce que nous allons faire, c'est travailler là-dessus lorsque nous créerons notre page de destination dans les conférences ou modules suivants afin que l'utilisateur puisse payer à ce moment-là sur la page de destination, puis nous ferons que l'intégration fonctionne essentiellement à ce moment-là. Ce serait un peu trop de le faire actuellement, car nous sommes également en train de créer l'application. Alors faites la même chose, terminez vos pages et vos fonctionnalités seront les principales, puis commencez à prendre des notes sur les petites choses que vous remarquerez en cours de route. Vous pouvez également montrer votre application à un ou deux amis sur votre machine pour moment afin de recueillir leurs commentaires Peut-être que l'un d'eux note quelque chose que vous avez oublié. Mais c'est aussi un bon exercice. Ensuite, une fois que vous serez prêt, revenez et nous passerons à notre section suivante, qui portera sur la page d'accueil , le marketing et les paiements. 29. Examen final de l'application: C'est bon. J'ai passé quelques heures à tout réparer et à le préparer à être expédié. Je vais donc passer en revue quelques modifications que j'ai apportées. J'ai ajouté quelques états de chargement ici. J'ai demandé à Cursor de créer un squelette en chargeant cette carte. Donc, quand il charge, ça a l'air sympa. J'ai également un état vide maintenant, donc lorsque les utilisateurs accèdent au tableau de bord, ils n'ont aucun voyage similaire à celui que j'ai fait dans Figma J'ai également créé un logo. J'ai placé le logo et le nom ici. La création d'un nouveau voyage est à peu près la même sauf que j'ai modifié le champ de date ici pour rendre un peu plus agréable et passons à un voyage qui existe déjà J'ai donc ajouté quelques éléments ici, la possibilité de voir toutes les personnes participant au voyage, les cartes de solde fonctionnent désormais et les dépenses ont toutes des icônes personnalisées basées sur les dépenses. Si vous ne trouvez pas d'icône, elle affichera simplement le signe du dollar comme ceci. L'ajout de dépenses fonctionne maintenant. J'ai ajouté qui a payé, afin que vous puissiez réellement changer l'utilisateur qui a payé. Vous pouvez modifier la date et maintenant tout fonctionne correctement. Les divisions ont du sens. Si je gagne 20$, tout cela a du sens. Vous pouvez même le faire de jour. C'est bon pour des choses comme les hôtels, Airbnbs, où vous souhaitez le diviser par jour Oui, et ensuite vous pouvez ajouter cette dépense. Si vous avez ajouté des dépenses, vous devez vous assurer de dire à quoi elles servaient. Disons que j'ai dépensé 200 dollars pour une annonce d'hôtel, puis j'en récupère 150 et je peux voir qui était entre les deux. Toutes ces petites modifications, j'ai ajouté le montant total dépensé pour ce voyage, j'ai légèrement ajusté le Snavbr et j'ai ajouté une liste déroulante pour le profil ici ou la liste déroulante du profil Ensuite, j'ai également apporté quelques modifications pour le mobile. Sur mobile, ça a aussi l'air bien maintenant et laissez-moi juste vous montrer que c'est juste pour vous montrer à quoi cela ressemble sur mobile. Il est désormais compatible avec les appareils mobiles. Encore une fois, j'ai donné des choses à chacun petit à petit. J'ai dit que pour les mobiles, faites ce qui suit et maintenant vous pouvez voir que toutes les cartes sont belles. Pour ce qui est de l'application elle-même, elle est prête. Bien que nous n'ayons pas encore de page de destination, nous en avons besoin avant de passer production et d' autoriser les utilisateurs à l'utiliser. C'est ce que nous allons faire dans le prochain module pour revenir et commencer à rassembler davantage d'actifs marketing, y compris la page de destination, et notamment la possibilité collecter des paiements auprès des utilisateurs pour cette application avant de pouvoir la mettre en ligne pour que les utilisateurs puissent l'utiliser. Mais dans l'ensemble, j'ai testé l'application. Cela fonctionne bien et je vous encourage à faire de même avec votre application Une fois que vous serez prêt à lancer dans d'autres activités de marketing, je vous verrai lors de la prochaine conférence. 30. Examen de la page d'atterrissage: Créez ma page de destination que je vais utiliser pour Tripvela, mon application de suivi des frais de voyage J'ai consacré environ une journée à l'élaborer, et je vais expliquer comment j'ai suivi le modèle que j'ai présenté et comment j'ai choisi les éléments que j'ai ici. Tout d'abord, je suis allée de l'avant et ajouté un texte vraiment accrocheur en H one, et c'est ce que je vous recommande de refaire. Votre section consacrée aux héros est l'une des sections les plus importantes Vous devez donc vous assurer de mentionner exactement le problème que vous souhaitez résoudre pour les clients. Hum, donc, tu sais, j'ai écrit mon point H d'une manière pour parler du genre de tracas liés au partage des dépenses en voyage J'ai donc divisé les frais de voyage sans tracas. Et puis le sous-texte est endroit où vous expliquez un peu plus, vous savez, euh, ce que fait ce produit. J'ai donc suivi les dépenses partagées et les régler instantanément afin que tout le monde puisse se concentrer sur le plaisir. Ensuite, vous pourrez planifier votre premier voyage. C'est le principal appel à l'action. Les utilisateurs seront en fait redirigés vers la page d'inscription pour créer un compte. Un joli graphisme ici sur le côté, une jolie petite animation. Ici, pour montrer différents voyages vous pouvez voir les gens dépenser pour un voyage. J'explique vraiment exactement quel est le produit et quel est le problème. Ensuite, vous allez ici et vous lisez l'énoncé du problème. Partez en groupe Les dépenses s'accumulent rapidement, une personne paie le dîner, une autre réserve les billets, quelqu'un d'autre paie l'Uber et personne ne se souvient donc qui doit quoi. C'est une réalité qui se produit souvent lors des voyages et qui reflète donc vraiment l'émotion de l'utilisateur et son expérience. Ensuite, j'ai l'énoncé de la solution. TripLa vous aide à garder une trace afin que vous puissiez profiter du voyage. Encore une fois, l'application vous aide à garder une trace, sorte que vous vous concentrez plutôt sur le voyage. Voici comment inviter des amis à votre voyage, organiser un voyage et partager le lien avec vos amis et votre famille. Voici un exemple de voyage et je vais vous le montrer dans une seconde, ajoutez les dépenses. Voici un exemple de dépense ici. Ajoutez des dépenses à votre voyage et suivez les transactions, puis, ici, réglez. Encore une fois, de jolies petites animations en survol. Vous n'êtes pas obligé de le faire votre page de destination, mais encore une fois, comme j'utilise le design comme facteur de différenciation par rapport à mon produit, j'applique ici de belles animations et microinteractions Encore une fois, arrangez-vous, voyez qui doit quoi, Mark a payé quand vous êtes au carré et faites le voyage en ordre. Avant de vous montrer un exemple de voyage ici, je vais aller ici et vous montrer le reste. Encore une fois, une petite section sur les pauses, le partage des coûts, le règlement, pas de discussions gênantes avec l'IOU, puis un autre appel à l'action, créez votre premier voyage Comme vous pouvez le constater, les appels à l'action sont très alignés les uns avec les autres. Planifiez votre premier voyage, créez votre premier voyage autour d' un seul appel à l'action principal. Je n'en ai pas un million de différents. Celui que vous voyez dans le tableau de navigation, Go to my trips », ne s' affiche que parce que je suis déjà connecté en tant qu'utilisateur, sinon il indiquerait simplement s'inscrire ou se connecter. Ensuite, j'ai établi le prix en fonction de ce dont nous discutons. J'ai décidé de faire deux plans, un par voyage. Donc, si certains clients veulent simplement l'utiliser et l'essayer, ils peuvent simplement payer dix dollars par voyage et avoir dépenses illimitées, contrairement aux autres concurrents du marché, euh, puis se séparer avec autant d'amis que possible. n'y a pas de limite, ou ils ne paient que 40$ une fois, puis ils ont un nombre illimité de voyages pour toujours, tout est inclus dans ce forfait, plus aucun frais par voyage, encore une fois illimités, les dépenses, donc c'est un excellent rapport qualité-prix Quelqu'un qui étudie cette et qui voyage beaucoup se dit probablement que si je voyage plus de quatre fois au cours de ma vie et que je partage les dépenses avec des amis, ce qui correspond exactement au public cible que je souhaite, il obtiendra certainement cette offre au lieu de celle-ci. Et puis je termine en me basant sur certaines questions fréquemment posées. Encore une fois, j'ai posé quelques questions qui pourraient venir à l'esprit des gens, vous savez. Quand est-ce que je peux marquer quelqu'un comme étant payé ? Est-ce que d'autres personnes ou d'autres personnes doivent payer pour adhérer ? Existe-t-il un essai gratuit ? J'ai donc répondu à toutes ces questions une par une. Je vous encourage à faire de même pour votre section FAQ. Il y a, bien sûr, une page de conditions, page de confidentialité, celles que je n'ai pas encore créées, mais vous pouvez utiliser différentes ressources pour cela, notamment consulter les conditions des concurrents ou consulter ChatGPT à ce sujet également Je vous laisse entièrement le soin de le faire, car ce sont des petits caractères et ils ont un peu d'importance, pour certains, selon le type d'application que vous créez. Je vous laisse le soin de le faire et je vais m'en occuper. Euh, il n'y a qu'une chose de plus que cela qui est nécessaire pour que cette page de destination soit fonctionnelle ou en fait deux autres choses. L'une consiste à configurer un favicon et image de partage social afin que les utilisateurs voient correctement les métadonnées et tout Pour le moment, il suffit de dire Tripvela, ce qui est génial. Mais encore une fois, l'icône est générique, c'est juste un logo polyvalent Nous allons les configurer lors la prochaine conférence, car cela s'appliquera certainement à votre projet, ainsi qu'à une image de partage social, qui apparaît chaque fois que vous envoyez votre lien à des personnes à qui j'envoie des messages ou sur LinkedIn et les réseaux sociaux. Comme nous allons faire du marketing plus tard, il est important que vous les configuriez correctement. Ensuite, une fois que nous l'aurons fait, nous allons connecter Stripe afin de pouvoir facturer les utilisateurs. heure actuelle, nous avons ce système de paiement, mais nous ne pouvons pas encore facturer les utilisateurs. Ils ne font rien, nous les connecterons donc à Stripe plus tard également. Je promets de vous montrer un exemple de voyage. J'ai mis ici un exemple de voyage à Barcelone auquel les utilisateurs peuvent participer, et cela ressemble à un vrai voyage Cela leur donne un avant-goût de ce à quoi ils peuvent s'attendre, en particulier parce que je n'ai pas de plan gratuit. Ils peuvent se faire une idée de ce à quoi ressemble l' ajout de dépenses, et ils peuvent même jouer avec cela et aimer ajouter des dépenses comme ils le feraient dans une vraie application. Mais bien sûr, cela n'est pas lié au back-end. J'ai demandé à Cursor de faire tout cela en tant que site Web fictif, rien n'est enregistré ici. C'est surtout pour que les gens puissent jouer avec eux et se faire une idée de ce à quoi ressemble l'application. Je pense que c'est vraiment important pour leur donner un avant-goût de l'application. Nous allons revenir et discuter des dernières touches à apporter à la page de destination avant de passer à autre chose et commencer notre marketing et notre distribution. 31. Stripe Setup: Sélectionnez les paiements sur notre page d'accueil, nous allons utiliser Stripe pour traiter les paiements. C'est le moyen le plus simple de faire en sorte que cela fonctionne. Lorsqu'il s'agit de créer un compte, c'est le moyen le plus rapide et le plus simple de gérer les paiements en ligne. Ainsi, une fois que vous avez créé un compte sur stripe.com, il peut vous poser des questions comme celle-ci pour configurer les choses. Tu n'es pas obligée d'y répondre. Vous pouvez les ignorer, mais vous pouvez choisir si vous avez des paiements récurrents ou non récurrents Nos paiements ne sont pas basés sur un abonnement Nous allons donc choisir les paiements non récurrents, puis cliquer sur Continuer, et nous allons continuer ici. Maintenant, il vous a demandé si vous vouliez accéder à un compte Sandbox ou Live Le compte Live est le compte de production de votre application lorsqu' elle est en ligne pour les utilisateurs. Sandbox est destiné à l'environnement de test. Nous allons passer à Sandbox pour le moment. Ensuite, vous allez continuer à rechercher des clés d'API pour développeurs. Généralement, cela apparaît également sur votre page d'accueil ici. Allez-y, récupérez deux clés à ajouter à votre fichier d' environnement. L'une d'elles est la clé API. L'autre est secret. Encore une fois, vous devez vous assurer qu'ils sont protégés et ajoutés uniquement à votre fichier d'environnement. Dans le fichier d'exemple ici, je vais avoir la clé API Stripe. Vous avez la clé API Stripe , puis Stripe l'appelle Stripe secret. Vous devez continuer et vous assurer qu'elles sont ajoutées dans votre fichier d'environnement actuel, puis vous devez ajouter ces valeurs pour que cela fonctionne. Prenez un moment pour le faire. Maintenant que j'ai ajouté ces clés, je vais demander à Cursor d' implémenter Stripe pour traiter les paiements des deux forfaits présents sur notre page d'accueil. Je vais simplement lui expliquer que le plan par voyage est par voyage et coûte 999 dollars, ce qui permet aux utilisateurs de créer un seul voyage. Si les utilisateurs essaient de créer d'autres voyages, dirigez-les vers la page de paiement Stripe assurez-vous de suivre les crédits par voyage dans le cadre du modèle utilisateur. Voici donc informations sur le premier plan, qui est par plan de voyage, coûte 999 dollars et permet à l'utilisateur de créer un seul voyage. Et s'ils essaient de créer d'autres voyages, page de paiement s'ouvrira à nouveau pour qu'ils puissent payer et, vous savez, acheter un autre voyage. Je vous demande de vous assurer de garder trace du crédit de voyage. Alors, combien de voyages les gens peuvent effectuer en fonction cela dans le cadre du modèle utilisateur. Ensuite, l'autre plan est à vie et coûte 39 99$ et permet aux utilisateurs de créer des voyages illimités sur leur compte. Assurez-vous d'en tenir compte également dans le modèle utilisateur. Je vais juste m' assurer qu'il sache que les utilisateurs ne peuvent pas créer de voyages sans avoir de crédits ou un accès à vie. C'est bon. Je vais l'envoyer et encore une fois parler brièvement de ce que j'ai fait. J'ai expliqué les deux forfaits que j'ai proposés, leur prix, et je lui ai demandé d'implémenter Stripe pour ceux-ci. J'ai donné des instructions spécifiques pour m'assurer de mettre à jour le modèle utilisateur, c'est-à-dire la façon dont nous stockons les informations sur les utilisateurs, informations sur les utilisateurs comme vous pouvez le voir dans les modèles ici. Ainsi, le modèle utilisateur et tout de suite, vous pouvez le voir mis à jour, de sorte qu' il a ajouté des crédits de voyage. Donc, par voyage, ce numéro serait mis à jour ici. Nous savons donc combien de voyages les gens peuvent créer grâce au nombre de crédits dont ils disposent. Ou s'ils ont un accès à vie, il s'agit d'une valeur booléenne créée ici, vraie ou fausse, qui vous permet d'en garder une trace Je vais continuer, conserver ce fichier et m' assurer que lorsque l'application changera de modèle, vous arrêtez réellement le serveur, puis vous le relancerez assurer que lorsque l'application changera de modèle, vous arrêtez réellement le serveur, plus tard. Je vais donc attendre que ce soit terminé, puis le relancer. Il m'a dit, assurez-vous d' ajouter vos valeurs Stripe. Nous l'avons déjà fait, donc c'est bien. Ensuite, nous ajouterons les scripts d'API correspondants. Il semble que la mise en œuvre soit prête. Je vais maintenant tester l'implémentation. En tant qu'utilisateur n' ayant aucun crédit, je vais essayer de créer un nouveau voyage. Allons à Bali et cliquez simplement sur Créer un voyage. Vous avez besoin d'un plan pour créer un voyage, effectuer un achat par voyage ou un accès à vie. Le seul inconvénient, c'est que cela me montre de manière réaliste les options qui s'offrent à moi au lieu de simplement me dire que j'ai besoin des crédits de Maintenant, testons à partir de la page d'accueil si elles fonctionnent. Une erreur s'est produite, je vais donc m'assurer de transmettre cette erreur. Et si on gagnait la vie ? Même chose. Encore une fois, retransmettez-la à Cursor et demandez-lui de l'analyser. On dirait donc que c'est réglé. Il semblerait que l'erreur soit en fait de mon côté. Je m'ai demandé de définir l'identifiant de prix Stripe par voyage ainsi que la durée de vie de l' identifiant de prix dans le fichier local de l'environnement. Nous devons en fait créer ces plans dans Stripe. Il vous donne les instructions, accédez au tableau de bord Stripe, au catalogue de produits et au produit. que nous allons faire. Nous allons accéder au catalogue de produits, créer un produit et le nommer par voyage. Il s'agit d'un paiement unique de 999$ et nous allons ajouter un produit et nous assurer que vous avez saisi ce produit et que vous avez bien copié ajouter un produit et assurer que vous avez saisi ce produit et que vous avez bien le numéro de prix ici. Tout comme dans mon fichier d' exemple ici. Je vais le copier et m' assurer de coller cet identifiant de prix dans ce fichier d' environnement. Prends une seconde pour le faire. De retour dans Stripe, je vais également créer un produit à vie et en faire un produit unique sur 39 99. Produit, même idée. Copiez le numéro de prix et remettez-le dans le fichier d'environnement, je vais le coller , en m'assurant que vos valeurs commencent par un soulignement du prix Maintenant que c'est en place, je vais l'essayer. Nous y voilà. Chaque fois que vous effectuez un test avec un compte Stripe, vous pouvez simplement saisir 42, quatre, deux, quatre, deux, le répéter plusieurs fois pour la carte de crédit, indiquer une date d'expiration aléatoire et CVC payer maintenant Voilà le truc. À l'heure actuelle, nous avons connecté le compte Stripe et nous avons connecté le prix ou les forfaits que nous proposons au compte Stripe et à notre produit. Désormais, notre produit peut réellement générer ce lien permettant aux utilisateurs d'acheter le plan. Mais nous avons besoin de ce que l'on appelle un webhook ou un webhook Stripe afin de pouvoir réellement comprendre ou faire notre application et nos applications, comprendre et d'écouter lorsque Stripe lui dit que oui, en fait, cette personne a acheté un plan Nous avons donc connecté la première étape. Nous devons maintenant revenir et connecter le webhook qui est également mentionné ici. Comme vous le voyez, au point de terminaison d'un webhook, il devrait ressembler Et ajoutez-y cet événement, et vous devrez également définir un secret de webhook Stripe dans votre environnement, dans un fichier local Comme nous le testons localement sur notre machine et que nous n'avons pas encore de serveur de production, nous devons également utiliser l'écouteur webhook localement pour indications provenant de Stripe indiquant qu'un utilisateur a effectivement créé ou acheté Revenons dans la section suivante pour implémenter le webhook Stripe 32. Webhook Stripe: Nous avons donc connecté Stripe, et maintenant nous devons réellement nous connecter au webhook, qui permet essentiellement à notre backend de savoir quand les utilisateurs achètent des forfaits via Stripe Parce qu'à l'heure actuelle, lorsque nous autorisons les utilisateurs à créer un plan, nous les redirigeons vers Stripe, et il s'agit en fait du site Web de Stripe Ce n'est pas notre site Web. Nous ne savons pas quand le paiement d'un utilisateur est réellement effectué jusqu'à ce que Stripe nous indique que cela se fait par le biais de ce que l' on appelle un webhook Si vous vous rendez ici pour les développeurs sur Stripe, rendez-vous sur les webhooks. Vous pouvez configurer un webhook à partir ici ou vous pouvez le tester avec un écouteur local Pour l'instant, nous allons tester avec un écouteur local. Suivez les instructions ici et assurez-vous de vous connecter . Vous pouvez faire tout cela via votre terminal ici. Suivez le lien depuis le terminal et appuyez sur Autoriser l'accès. Assurez-vous ensuite de copier cette ligne ici et de la déposer également dans votre terminal. Maintenant, lorsque vous le collez dans votre terminal, vous obtenez un secret de webhook Vous devez également vous assurer d'ajouter un secret de webhook Stripe similaire à so equals, puis de saisir votre secret de webhook qui commence comme ceci WHSecunderscore Prenez le temps de le localiser et de le faire. Une fois que j'ai fait cela, j'ai rencontré un problème ici. Donc, si vous rencontrez des problèmes, trouvez simplement ce terminal Stripe, envoyez-le et signalez qu'il y a eu des erreurs à Cursor. Il vous demandera d'aller de l' avant, de comprendre ce qui s'est mal passé et de vous indiquer ce que vous devez faire pour y remédier. Encore un problème, mais cela explique que nous devons vraiment nous assurer qu'il s' agit du webhook APISISH de localhost point Colon 3,000 slash APISISH Assurez-vous de suivre exactement cela. Essayons encore une fois. J'ai de nouveau mis à jour mon secret, et nous allons continuer à créer une autre fois. Voyons si cela fonctionnera cette fois. Vous voyez, nous avons obtenu un 200 points grâce à notre API. Le webhook SipeSash signifie que cela fonctionnait localement Vous pouvez voir dans nos données d'utilisateur sur Mongo que j'ai maintenant un crédit de voyage Cela s'est produit uniquement parce que le webhook Stripe fonctionnait, ce qui signifie que vous pouvez désormais créer un voyage. Essayons ça. Il suffit de mettre Bali Two Create et le tour est joué. Maintenant, j'ai créé ce voyage parce que j'avais des crédits. J'actualise les crédits ou si j'actualise ma base de données d'utilisateurs, car vous pouvez constater que le crédit de voyage a disparu. Cela fonctionne correctement maintenant. Si j'y retourne et que j'essaie de créer un autre voyage comme Bali Three, il saura que je n'ai plus de crédits et me redirigera vers la page de paiement. Je sais que ça marche maintenant. Je vais également tester mon plan à vie, même configuration, mais avec la durée de vie, je devrais être capable de créer plusieurs voyages. Je vous laisse le faire pour votre propre configuration. Vous êtes peut-être abonné, suivez les instructions et le curseur pour le configurer. Notez que jusqu'à présent, nous avons uniquement configuré le webhook Stripe pour qu'il fonctionne localement et pas encore sur notre production. Nous devons revenir une fois que nous avons mis notre application en production pour réellement connecter notre Stripe de production à l'application. Une fois cela fait, nous devons accéder au compte Switch to Live et copier nos prix du test à la production. Nous le ferons dans une seconde lorsque nous serons prêts à publier notre application. 33. Paramètres de sécurité: Nous nous préparons à mettre notre application en production et à permettre à n'importe qui dans le monde de l'utiliser. Nous devons encore faire deux petites choses , mais elles sont vraiment importantes. La première chose à faire est que dans votre projet sur MongoDB, vous devez vous connecter, accéder à votre projet Ensuite, sous l'onglet Sécurité, vous souhaitez accéder à la base de données et à l'accès au réseau. Accédez ensuite à la liste d'accès IP. Il s'agit essentiellement de la liste des adresses IP qui peuvent accéder à la base de données. heure actuelle, votre adresse IP est incluse ici, ce qui vous permet, depuis votre machine locale, apporter des modifications à la base de données, euh, mais le fait est qu'une fois que nous serons en ligne, utilisateurs ayant des adresses IP différentes les utilisateurs ayant des adresses IP différentes dans le monde entier utiliseront votre application. Euh, cela ne fonctionnerait donc pas nécessairement, car la base de données ne fonctionnera pas et autorisera de nouvelles entrées ou des suppressions de différentes adresses IP C'est pourquoi vous devez ajouter une adresse IP ici et vous assurer de taper l'entrée de la liste d'accès zéro point zéro point zéro. Donc quatre zéros puis zéro. Vous voulez continuer et confirmer cela, puis il devrait être ajouté ici et actif. Cela présente bien sûr un certain risque de sécurité et il existe d'autres moyens de le faire, mais c'est le moyen le plus simple de le configurer. Assurez-vous simplement que le mot de passe et le nom d'utilisateur de votre base de données sont sécurisés. Celui qui vous a été donné par Mongo Di B lorsque vous avez configuré ce cluster Le plus important est de vous assurer que tout est protégé afin que personne ne puisse accéder à votre base de données. Une autre chose que nous allons faire dans la base de code notre application pour la sécuriser est de faire un audit de sécurité pour nous assurer que rien n'est révélé publiquement ou incorrect et mettre en œuvre une limitation du débit des API pour empêcher les utilisateurs abusifs faire un contrôle de sécurité approfondi de toutes les fonctions de Bend et d'entrer C'est juste pour s'assurer que Cursor effectuera une dernière vérification de la sécurité de votre projet et qu'il examinera votre base de code, pour s'assurer qu'une certaine limitation de débit est en vigueur, ce qui empêche essentiellement les gens de spammer votre serveur ou votre API à plusieurs reprises Encore une fois, il existe de nombreux utilisateurs et certains d'entre eux pourraient essayer de tirer parti de votre plateforme. Maintenant, cela arrive à n'importe quel développeur, alors assurez-vous d'exécuter cette invite et, bien sûr, il y a probablement d'autres invites que vous pouvez également exécuter pour vous en assurer Mais c'est celui qu' IE utilise généralement en ce moment . Il vérifie tout en termes d'authentification, de middleware, de routes d'API, laisse faire son travail pour que votre code soit plus sécurisé Mais avant de revenir et de mettre notre application ligne sur notre domaine afin que d'autres utilisateurs puissent l'utiliser. 34. Pousser la production: C'est bon. C'est une époque passionnante. Nous sommes enfin prêts à publier sur laquelle nous avons travaillé si dur le Web notre application sur que n'importe qui dans le monde puisse l'utiliser. C'est donc passionnant et nous allons le refaire Comme expliqué dans notre stack, nous utilisons Versal pour déployer notre application Donc, en gros, Versal est la plateforme qui héberge notre projet, et c'est une excellente plateforme Vous pouvez commencer gratuitement et suivre, vous savez, les journaux qui arrivent. Assurez-vous donc de faire un test final de votre application, assurez-vous qu'elle fonctionne sur Github si ce n'est pas Vous vous inscrivez sur Verso, vous créez un nouveau projet, puis nous vous demanderons de connecter votre Github Assurez-vous de connecter votre Github pour pouvoir réellement connecter votre application ou l' importer dans Verso en un seul clic. Je l'ai déjà fait. Je vais maintenant renommer celui-ci Tripvela. Alors voici une autre chose importante que vous devez faire. Vous devez réellement ajouter les variables d'environnement ici pour qu'une fois votre application poussée, cela fonctionne. Je vais faire une pause ici juste pour expliquer rapidement. Vous voulez réellement accéder à votre environnement, le fichier local, copier chacune de ces chaînes individuelles. Mongo URI, par exemple, vous allez le coller dans la clé, puis pour la valeur, vous allez coller la valeur qui vient après le signe égal ici Prenez votre temps avec celui-ci car il est très facile de se tromper et vous devez également mettre à jour certaines d'entre elles pour qu'elles soient légèrement différentes. Par exemple, pour le site de Mongo, si vous vous souvenez de notre site de développement ou de notre site de développement, nous avons créé Dev Dans votre production, vous souhaitez réellement effectuer une Prod ou une production de manière à ce que données utilisateur provenant utilisateurs du monde réel soient stockées dans une partie du cluster différente de celle des données de test Ensuite, vous allez continuer et en ajouter d'autres. Encore une fois, en gardant à l'esprit que certaines d'entre elles seront différentes. Mong restera le même, sauf pour la dernière partie, à la place de Dev, assurez-vous que c'est Slash Le prochain secret d'authentification restera le même. authentification suivante sera l'URL laquelle les utilisateurs accèderont à ce site Web Assurez-vous de mettre HTTPS, donc assurez-vous d' inclure le S pour sécurisé, puis Colin, barre oblique, puis votre site Web réel Dans mon cas, ce sera tripvelala.com, HTTPS. TripVela.com. Vous n'avez pas besoin de mettre de barre oblique à la fin clé de renvoi sera la même car vous envoyez des e-mails depuis le même compte L'e-mail du formulaire doit également rester le même. Vous n'avez pas besoin de le changer. Désormais, l'API Stripe, secret Stripe et le webhook Stripe seront différents Dans ce cas, vous devrez passer à Stripe pour passer à votre compte réel. Si vous avez des accords, assurez-vous simplement de les consulter dans le document Stripe Live, puis vous pourrez les copier . Choisissez ce que vous souhaitez copier. Nous voulons copier nos produits, cliquez sur Continuer. Ensuite, vous avez vos clés ici que vous pouvez copier pour le compte réel, qui devraient à nouveau être insérées ici sur Versll Maintenant, laissez de côté le secret du webhook. Nous le ferons ensemble lors de la prochaine conférence. Votre numéro de prix Stripe par voyage ou tout autre identifiant Stripe dont vous disposez pour votre type de paiement sera également différent. Assurez-vous de les copier également directement depuis la version en ligne de votre Stripe, alors assurez-vous de cliquer à l'intérieur d'ici, de les copier correctement. Encore une fois, le seul autre secret qui devrait être différent est un webhook secret de Stripe, que nous aborderons ensemble lors de la prochaine conférence Allez-y et saisissez correctement ces variables. Je vais prendre une minute pour le faire, les examiner, assurer qu'ils sont correctement configurés, et je vous verrai dans une minute. Une fois que vous les avez tous copiés, assurez-vous de cliquer sur Déployer. Une fois que vous avez cliqué sur Déployer, vous pouvez voir que l'application commence à être créée ou que Versa commencera à créer votre prochain projet sur ses propres serveurs et vous donnera un résumé de ce qu'elle a fait. Il y a une chance, parfois une grande chance que vous obteniez ou que vous rencontriez des erreurs. Si c'est le cas, il vous suffit de le développer, de copier ces erreurs et de le saisir dans Cursor pour vous assurer qu'il y est mis à jour ou qu'il y apporte des modifications. Si vous l'avez bien fait, que tout va bien, vous devriez procéder à un déploiement en direct. N'oubliez nous n'avons pas encore connecté notre domaine. Un autre avantage de Versell est que chaque fois que vous appuyez sur votre branche principale de Github, votre application en ligne est mise à jour Vous n'avez donc rien d'autre à faire pour le faire Si vous apportez des modifications à votre application, mises à jour de fonctionnalités, etc., et que vous les envoyez à GitHub, votre application sera automatiquement mise à jour pour les utilisateurs Assurez-vous qu'ils sont testés avant de publier quoi que ce soit sur GitHub En attendant, passons aux domaines et ajoutons un domaine existant à ce projet, trilala.com, et nous allons cliquer sur Enregistrer J'ai déjà ce domaine dans une autre application, je vais simplement transférer les domaines vers ce projet. La seule chose que vous devez faire à partir de là est de vous assurer d'accéder à votre registre de domaine. Si vous avez un name chip ou un Go Daddy, assurez-vous de vous rendre sur place, de passer au DNS avancé et d' ajouter ces valeurs, comme nous l'avons fait pour les clés de renvoi Suivez ces instructions dans votre fournisseur de domaine , puis retrouvez-moi ici. Maintenant, assurez-vous de mettre à jour ces paramètres à la fois pour la version sans WWW et pour la version avec WWW déjà fait. Ensuite, vous pouvez essayer d'appuyer sur Actualiser une fois que vous l'avez fait, vous l'avez configuré correctement. Allons-y. J'ai quelques problèmes avec le design de la page d'accueil, je vais donc les intégrer à Cursor pour les corriger. J'espère que vous n'avez aucun problème ou si c'est le cas, prenez votre temps pour résoudre prenez votre temps pour résoudre ces problèmes, puis nous reviendrons pour configurer correctement le webhook Stripe afin que l'ensemble de l'application fonctionne correctement Mais félicitations pour avoir rendu votre application publique. 35. Intégration des rayures: Une dernière étape pour configurer notre application afin qu'elle soit prête à accepter les paiements, consiste à configurer notre webhook Stripe en cours de production Maintenant, si vous vous souvenez, le webhook est ce qui nous permet de comprendre si un utilisateur a réellement payé, puis de lui donner l'abonnement ou de lui donner l'avantage, le plan, etc. En tant qu'agent Cursor ou AI, allez-y, demandez-lui de vous donner des instructions sur la façon configurer Webhook pour la production de votre application Donnez-le étape par étape en fonction de ce que vous devez faire. Dans mon cas, il a été procédé et m'a dit que je devais suivre cette étape, accéder au tableau de bord Stripe. Voici un tableau de bord Stripe. Accédez aux développeurs, puis cliquez sur Webhooks, puis vous souhaitez ajouter une destination Une fois que vous avez ajouté la destination, c'est le lien que vous souhaitez, mais nous en aurons besoin dans une seconde. Pour mon application, il suffit que la session de paiement soit terminée. Je vais rechercher le point de session point terminé, et il apparaîtra déjà. Pour votre application, cela peut être différent. Il s'agit de l'événement que le webhook écoutera. Dans mon cas, chaque fois qu' une session de paiement est terminée avec succès, nous voulons continuer et écouter ce point de terminaison pour cela. L'URL du point de terminaison est celle que vous avez obtenue depuis l'application, mais bien sûr, vous devez la remplacer par votre domaine sans la barre oblique de l'API, puis je vais appuyer sur Créer une destination et m'assurer que vous copiez ce secret, puis revenez à votre déploiement, accédez aux paramètres Assurez-vous de sélectionner votre projet, d'accéder à vos paramètres, accéder aux variables d'environnement, puis de continuer et d'ajouter une variable d'environnement. Maintenant, si vous vous en souvenez dans votre code, ça devrait être comme ça, Stripe underscore webhook underscore Assurez-vous de le copier , puis de coller la valeur que vous avez obtenue de Stripe. Appuyez sur Enregistrer, puis sur Redéployer. Chaque fois que vous modifiez vos variables d'environnement, vous devez procéder au redéploiement afin que cette clé d'environnement soit ajoutée à votre dernier déploiement clé d'environnement soit ajoutée à Ensuite, dans votre projet, vous pouvez suivre vos déploiements, nous voyons que c'est en cours de construction Maintenant, une fois que vous avez cliqué, le seul moyen de savoir si ce webhook Stripe fonctionne est de procéder à un paiement test Vous pouvez soit sortir votre carte de crédit et l'utiliser, soit créer un coupon ici dans Stripe, créer un coupon de réduction de 100 %, puis vous assurer de demander à Cursor d'activer les codes promotionnels. Et une fois que vous l'avez fait, vous pouvez simplement saisir votre code promo , puis vérifier que l'abonnement ou la tarification de votre application fonctionnent. Maintenant que cela est réglé, notre application est opérationnelle. Vous pouvez le partager avec vos amis. Maintenant, je promets de vous montrer à quoi ressemblent l'image OG et les métadonnées que nous avons configurées. Donc, si vous collez votre lien vers votre application dans un message « disons moi », vous pouvez voir ici que Tripvela divise les frais de voyage sans tracas Tripvela divise les frais de voyage sans tracas Ainsi, chaque fois que quelqu'un partage tripvela.com, il s'affichera comme ça, ce qui avait l'air génial À l'avenir, je pourrais apporter le changement au lieu de simplement avoir le nom ici, peut-être avoir une description de ce que fait le produit. Cela met fin à l' assemblage de notre produit. La prochaine étape consiste à en parler gens et à commencer à obtenir des ventes. 36. Quoi faire ensuite ?: Félicitations pour avoir atteint ce stade dans le cours. Je voudrais parler un peu ce qui se passe à partir d' ici. Où allons-nous ? Que faites-vous de votre produit, et comment vous assurez-vous de rester sur la bonne voie et à quoi ressemblera le succès à partir de maintenant ? Beaucoup de gens pensent que simple fait de lancer un produit fera en sorte que des milliers d'utilisateurs l'utiliseront immédiatement. En réalité, les chiffres sont bien inférieurs à cela et cela prend plus de temps. En plus d'avoir besoin d'un plus grand nombre de patients pour suivre votre progression, vous devez comprendre qu' au cours des prochaines semaines ou des prochains mois, votre objectif est d'obtenir le plus de commentaires possible de la part des 50 à 100 premiers utilisateurs que vous pouvez obtenir. Ne vous concentrez pas sur les milliers pour l'instant. Parlez à ces 50 à 100 utilisateurs, assurez-vous d'améliorer votre produit, de les écouter et de vous votre produit, de les écouter et améliorer en fonction des commentaires qu'ils vous fournissent réellement. Le véritable objectif est de partager votre produit dans sa version la plus récente avec les utilisateurs et de tirer parti des commentaires afin de créer un produit que vous pourrez ensuite étendre à des milliers d'utilisateurs par la suite. commentaires des utilisateurs réels constituent un énorme levier et de nombreux fondateurs l'ignorent, mais si vous les exploitez correctement, vous créerez un produit pour un certain segment du public ou du marché cible, que vous pourrez adapter et développer rapidement au fil du temps. heure actuelle, nous faisons certaines suppositions concernant notre produit, mais nous les soumettons aux utilisateurs, nous découvrons réellement qui est notre vrai client et ce qui les intéresse vraiment dans notre produit. Une fois que nous aurons obtenu ces réponses, nous pourrons redoubler d'efforts sur le marketing et nous pourrons redoubler d'efforts pour créer les ensembles de fonctionnalités qui leur conviennent. Vous apprenez également quelles sont les méthodes de marketing qui vous conviennent le mieux. S'agit-il d'une vidéo, d'un billet de blog, un partenariat ou peut-être d'une diffusion directe. expérimentant et en apprenant quelle méthode fonctionne le mieux, vous apprendrez sur quoi redoubler d'efforts afin que lorsque vous dépensez de l'argent pour votre marketing, vous ne gaspillez pas votre argent et vous le dépensiez correctement sur les bons canaux de marketing Vous recherchez de bons signaux provenant de votre produit, tels que des utilisateurs partageant votre produit, parlant de votre produit, répondant et vous donnant des commentaires sur votre produit Parfois, vous devrez peut-être faire tout votre possible pour pouvoir parler aux clients et obtenir des commentaires directement de leur part. Parfois, les clients ne se soucient pas suffisamment de vous faire part de leurs commentaires à moins que vous ne leur en fassiez la demande. Assurez-vous donc de les contacter et de leur poser des questions sur leur expérience. Certains d'entre eux peuvent être configurés comme des e-mails automatiques envoyés depuis votre application Assurez-vous de tirer pleinement parti des e-mails, en particulier à destination de votre base d'utilisateurs existante. vais continuer à partager mon produit Tripvela différentes communautés de voyageurs auprès des différentes communautés de voyageurs et à m'adresser directement afin d' attirer les cent premiers utilisateurs. À partir de là, je vais explorer des moyens cibler peut-être les nomades numériques qui ont des abonnés sur les réseaux sociaux pour créer du contenu destiné à le promouvoir pour Ce seront les prochaines semaines et les prochains mois. J'espère que vous tirerez parti de tous les outils et méthodes de marketing dont nous avons parlé pour développer votre produit de plus de milliers d' utilisateurs et vous souhaiter bonne chance auprès de plus de milliers d' utilisateurs et vous souhaiter bonne chance. Merci d'avoir participé au cours.