
Clone Twitter construit dans Next.js + TypeScript + Tailwind CSS à l'aide de Cloud Firestore et de stockage
Voici les étapes pour exécuter le projet localement.
Cloner le référentiel
git clone https://github.com/ccrsxx/twitter-clone.gitInstaller des dépendances
npm iCréez un projet Firebase et sélectionnez l'application Web
Ajoutez votre configuration de base de feu à .env.development . Notez que NEXT_PUBLIC_MEASUREMENT_ID est facultatif
Assurez-vous que vous avez activé les services Firebase suivants:
Installer Firebase CLI dans le monde entier
npm i -g firebase-toolsConnectez-vous à Firebase
firebase loginObtenez votre identifiant de projet
firebase projects:listSélectionnez votre ID de projet
firebase use your-project-idÀ ce stade, vous avez deux choix. Soit exécuter ce projet à l'aide de la base de feu sur le nuage ou localement à l'aide de l'émulateur.
Utilisation du backend Cloud Firebase:
Déployer les règles de Firestore, les index Firestore et les règles de stockage cloud
firebase deploy --except functionsExécuter le projet
npm run devUtilisation de l'émulateur local de Firebase:
Installez Java JDK version 11 ou plus avant de continuer. Cela est nécessaire pour gérer les émulateurs.
Définissez la variable d'environnement NEXT_PUBLIC_USE_EMULATOR sur true dans .env.development . Cela permettra à l'application d'utiliser les émulateurs au lieu du backend cloud.
À ce stade, vous pouvez exécuter la commande suivante pour avoir un clone Twitter entièrement fonctionnel en cours d'exécution localement:
npm run dev:emulatorsRemarque : Lorsque vous déploiez les règles des index Firestore, cela peut prendre quelques minutes. Ainsi, avant l'activation des index, vous obtiendrez une erreur lorsque vous récupérerez les données de Firestore.
Vous pouvez vérifier l'état de vos index Firestore avec le lien ci-dessous, remplacezyour-project-idpar votre ID de projet: https://console.firebase.google.com/u/0/project/your-project-id/firestore/indexes
Facultatif:
.env.development . J'espère qu'Elon Musk ne fait pas que cette API soit payée ?.