Construire des Apps SaaS sur NuxtHub avec Gavarnie

- Read in english

Note

Ce starter a été conçu pendant mon temps libre. Si vous le trouvez utile, pensez à soutenir mon travail.

TL;DR : Gavarnie

Image OpenGraph du projet Gavarnie
Image OpenGraph du projet Gavarnie

Avant d'explorer ce starter, permettez-moi de partager la motivation derrière sa création.

Il y a plusieurs mois, Sébastien Chopin, le créateur de Nuxt, a introduit NuxtHub, une plateforme pour déployer et gérer des applications Nuxt, alimentée par Cloudflare. En résumé, vous pouvez créer des applications en tirant parti de l'infrastructure de Cloudflare comme D1 (base de données) et R2 (stockage), permettant un déploiement et une gestion aisés. C'est semblable à Vercel ou Netlify mais pour les applications Nuxt, et je la trouve exceptionnel.

Cependant, cela fonctionne sur ce qu'on appelle l'edge, ce qui diffère des méthodes de déploiement d'applications traditionnelles comme VPS. L'edge utilise des workers, similaires aux web workers dans votre navigateur, mais côté serveur. Ce système permet un déploiement rapide et rentable, bien qu'il comporte plusieurs contraintes telles que les API disponibles et un temps de calcul limité. C'est un compromis.

L'edge introduit une nouvelle approche conceptuelle où les limitations nécessitent des solutions innovantes. Bien que des défis existent, soyez assuré que vous pouvez toujours atteindre vos résultats souhaités. Ce nouvel environnement nécessite la construction d'un écosystème complet autour de lui. Ne vous attendez pas à des solutions prêtes à l'emploi pour tout ; j'élargirai ce point dans un autre article.

Petit à petit, l'edge peut être être maîtrisé.

C'est ici que Gavarnie entre en jeu.

Gavarnie

Cirque de Gavarnie par Jean-Christophe BENOIST,<br>CC BY 3.0 https://creativecommons.org/licenses/by/3.0, via Wikimedia Commons
Cirque de Gavarnie par Jean-Christophe BENOIST,
CC BY 3.0 https://creativecommons.org/licenses/by/3.0, via Wikimedia Commons

Gavarnie est un starter destiné à être utilisé avec NuxtHub, spécifiquement sur l'infrastructure Cloudflare. Si vous avez besoin de compatibilité avec Supabase, Turso ou Vercel, cela ne sera pas le bon choix. Il propose une authentification sociale préconfigurée avec plusieurs fournisseurs, une vérification d'email, et met l'accent sur les meilleures pratiques architecturales et de sécurité.

Le plus important, c'est qu'il est gratuit et open source, vous permettant de commencer votre projet SaaS dès maintenant ou de l'utiliser pour apprendre et favoriser le développement de l'écosystème.

En effet, l'un de mes objectifs avec Gavarnie n'est pas de créer juste un autre starter, mais de faire avancer l'initiative pour promouvoir Nuxt et NuxtHub. Je suis convaincu qu'en établissant des bases communes et solides, nous pouvons collectivement renforcer l'écosystème autour de NuxtHub et de l'edge. Ainsi, Gavarnie sert de point de départ, et non de fin, et c'est à nous de nourrir sa croissance. Je vous en prie, rejoignez-moi pour l'améliorer.

Gavarnie est un début, pas une conclusion.

Caractéristiques

Gavarnie est développé sur Nuxt et NuxtHub. Ces deux éléments constituent l'épine dorsale de ce projet, avec tous les éléments construits autour d'eux.

Sous sa forme actuelle, Gavarnie permet aux utilisateurs de créer un compte en utilisant leurs profils sociaux (GitHub et Twitch), de lier des comptes sociaux, de changer leur adresse e-mail via un mécanisme de vérification, de mettre à jour leur profil et leur photo de profil, et de supprimer leur compte.

Le service d'email est facilité par Resend, qui simplifie les transactions par email.

L'interface utilisateur est alimentée par Nuxt UI Pro, un ensemble d'outils UI fourni par l'équipe Nuxt pour les applications Nuxt.

L'authentification sociale est proposée via le module nuxt-auth-utils, qui simplifie l'authentification sociale dans Nuxt. Elle prend en charge plusieurs fournisseurs tels que Google, Facebook, X (Twitter), GitHub, entre autres.

De plus, j'ai incorporé le module Nuxt Security pour améliorer la sécurité de l'application. Ce starter comprend une CSP préconfigurée, un CSRF que je prévois d'améliorer, et un limiteur de débit pour prévenir les abus des points de terminaison sensibles.

Gavarnie est une continuité pour apporter des capacités full-stack aux applications Nuxt.

Nuxt Devient Full-Stack : Comment Gérer l'Autorisation ?Nuxt Devient Full-Stack : Comment Valider des formulaires ?

Explorez le dépôt gavarnie pour découvrir plus sur ses fonctionnalités et comment les utiliser.

Étape par Étape

Ceci n’est que le début de l'aventure.

Gavarnie est un projet dynamique qui évoluera. Nous pouvons envisager d'incorporer une meilleure gestion des sessions, un tableau de bord administrateur, un système de jetons API, une solution de facturation, et plus encore. Les opportunités sont vastes, et c'est à nous d'impulser son développement.

Ayant pris connaissance de gavarnie, n'hésitez pas à l'explorer, à l'étendre, à expérimenter et à créer des applications pratiques avec.

N'hésitez pas à donner une étoile, à engager une discussion sur le dépôt GitHub pour toute question ou suggestion visant à améliorer le starter ! 💛

Photo de profil d'Estéban

Merci de me lire ! Je m'appelle Estéban, et j'adore écrire sur le développement web.

Je code depuis plusieurs années maintenant, et j'apprends encore de nouvelles choses chaque jour. J'aime partager mes connaissances avec les autres, car j'aurais aimé avoir accès à des ressources aussi claires et complètes lorsque j'ai commencé à apprendre la programmation.

Si vous avez des questions ou souhaitez discuter, n'hésitez pas à commenter ci-dessous ou à me contacter sur Bluesky, X, et LinkedIn.

J'espère que vous avez apprécié cet article et appris quelque chose de nouveau. N'hésitez pas à le partager avec vos amis ou sur les réseaux sociaux, et laissez un commentaire ou une réaction ci-dessous—cela me ferait très plaisir ! Si vous souhaitez soutenir mon travail, vous pouvez me sponsoriser sur GitHub !

Soutenir mon travail
Suivez-moi sur