Le kit de démarrage de l'API Node.js est un modèle de projet pour créer des applications backend Node.js optimisées pour l'infrastructure sans serveur telles que les fonctions Google Cloud, AWS Lambda, Azure Fonctions, etc. Utilisez-le comme serveur API pour votre application frontale.
local , dev , test et prodCe projet a été enraciné avec le kit de démarrage de l'API Node.js. Assurez-vous de rejoindre notre canal Discord pour obtenir de l'aide.
├── .build
├── .vscode
├── Fonction api - Cloud pour gérer les demandes d'API à l'aide de graphql.js
├── auth - Authentification et middleware de session
├── core - Modules d'application courants (e-mail, journalisation, etc.)
├── db - Client de la base de données pour PostgreSQL à l'aide de Knex
├── emails - modèles de messagerie pour les e-mails transactionnels à l'aide du guidon
├── env - Variables d'environnement pour local , dev , test et prod
├── migrations - Migrations de schéma de base de données (Cloud SQL, Knex)
├── - scripts de déploiement, coquille scripts red, etc.
├── test - tests unitaires et références
├── views - Modèles HTML utilisant le guidon
└── ... - Ajouter plus de fonctions de nuage telles que worker , notifications , etc.
git clone -o seed https://github.com/kriasoft/node-starter-kit.git .local , dev , test et prod ( ./env ).yarn installyarn db:createyarn start , il sera disponible sur http: // localhost: 8080. Utilisez la variable d'environnement APP_ENV pour exécuter des scripts pour différents environnements, par exemple:
$ APP_ENV=test yarn db:migrate
$ APP_ENV=test yarn start
IMPORTANT : Assurez-vous que VScode utilise les versions d'espace de travail de TypeScript et Eslint.
yarn start - Lance l'application en mode développement sur http://localhost:8080yarn build - compile et regroupe l'application pour le déploiementyarn lint - Valider le code à l'aide d'Eslintyarn tsc - Valider le code à l'aide du compilateur TypeScriptyarn test - Exécutez des tests unitaires avec une plaisanterie, Supertestyarn repl - Connectez-vous à la base de données à l'aide de Shell Knex REPyarn psql - Connectez-vous à la base de données à l'aide de PostgreSQL CLIyarn db:create - Créer une nouvelle base de donnéesyarn db:version - Vérifiez la version actuelle de la base de donnéesyarn db:migrate - Migrer le schéma de base de données vers la dernière versionyarn db:rollback - Rollback La dernière migrationyarn db:seed - base de données de graines avec des données d'échantillon / référenceyarn db:reset - réappliquez le dernier fichier de migration de schéma de base de donnéesyarn update-types - Générez des modèles de données fortement typés à partir du schéma de base de données Définissez éventuellement APP_ENV sur local (par défaut), dev , test ou prod avant d'exécuter ces scripts.
Pour chaque fournisseur d'identité tierce qui doit être activé pour votre application, vous devrez obtenir des informations d'identification d'application, souvent appelées ID / Secret client.
http://localhost/auth/google/return comme URL de rappelGOOGLE_CLIENT_ID , GOOGLE_CLIENT_SECRET Environment Variables trouvées dans ./env/.env.* pour chaque environnement dont vous avez besoin. À partir de là, visiter http://localhost:8080/auth/google (ou, l'ouvrir dans une fenêtre contextuelle) initierait le flux de connexion via Google.
http://localhost/auth/facebook/return comme URL de rappel pour le flux de connexionFACEBOOK_APP_ID , FACEBOOK_APP_SECRET Variables trouvées dans env/.env.* Fichiers pour chaque environnement dont vous avez besoin. À partir de là, visiter http://localhost:8080/auth/facebook (ou, l'ouvrir dans une fenêtre contextuelle) initierait le flux de connexion via Facebook.
Le script de déploiement ( yarn deploy ) s'appuie sur l'outil Google Cloud CLI ( gcloud ) que vous pouvez télécharger à partir d'ici. Pour les workflows CI / CD, vous avez peut-être besoin d'une image Docker comme celle-ci.
gcloud auth login - Autoriser l'outil SDK Google Cloud (CLI) pour utiliser votre compte Google.
Créez un nouveau projet GCP pour votre application avec des ID tels que example de production et example-test pour les environnements de test / QA. Assurez-vous que l'API Cloud Build et les fonctions cloud sont activées dans les paramètres de votre projet GCP ici.
Créez ici une instance de base de données SQL Cloud dans la même région où votre application doit être déployée. L'utilisation d'une micro-instance de Cloud SQL avec 0,6 Go de RAM devrait être OK pour les tests et les sites Web à faible trafic.
Assurez-vous que GOOGLE_CLOUD_PROJECT , GOOGLE_CLOUD_REGION , PGDATABASE , PGUSER et les autres variables d'environnement sont correctement définies pour l'environnement de déploiement cible (par exemple /env/.env + /env/.env.prod pour la production).
Enfin, compilez et déployez l'application en exécutant:
yarn build - compile l'application dans le dossier .buildAPP_ENV=<env> yarn db:migrate - migrer la base de données (schéma) vers la dernière versionAPP_ENV=<env> yarn deploy - déploie l'application sur Google Cloud Fonctions (GCF) Lorsque <env> est l'environnement cible, par exemple APP_ENV=prod yarn deploy .
yarn set version latest - Bump Yarn à la dernière versionyarn upgrade-interactive - Mettre à jour les modules Node.js (dépendances)yarn pnpify --sdk vscode - Mettez à jour les paramètres de type TypeScript, Eslint et plus jolis dans vScode Tout le monde et tout le monde est invité à contribuer. Commencez par consulter la liste des problèmes ouverts marqués l'aide recherchée. Cependant, si vous décidez de vous impliquer, veuillez prendre un moment pour examiner les directives.
Copyright © 2016-présent Kriasoft. Ce code source est autorisé en vertu de la licence MIT trouvée dans le fichier de licence.
Fabriqué avec ♥ par Konstantin Tarkus (@koistya, blog) et les contributeurs.