Node.js API Starter Kit ist eine Projektvorlage zum Erstellen von Node.JS-Backend-Anwendungen, die für serverlose Infrastruktur optimiert sind, wie z.
local , dev , test und prod UmgebungenDieses Projekt wurde mit Node.js API Starter Kit strapdiert. Stellen Sie sicher, dass Sie sich unserem Discord -Kanal anschließen, um Hilfe zu erhalten.
├── .build - kompilierte und gebündelte Ausgabe (pro Wolkenfunktion)
├── .vscode - VSCODE -Einstellungen einschließlich Code -Snippets, empfohlene Erweiterungen usw.
├── api - Cloud -Funktion zum Umgang mit API -Anforderungen mithilfe von GraphQL.js
├── auth und Sitzung Middleware
├── core - gemeinsame Anwendungsmodule (E -Mail, Protokollierung usw.)
├── db - Datenbank Client für PostgreSQL mit Knex
├── emails - E -Mail -Vorlagen für Transaktions -E -Mails mithilfe von Lenker
├── env für local , dev , test und prod
├── migrations - Datenbankschema -Migrationen (Cloud SQL, KNEX)
├── scripts - Bereitstellungsskripte, Reply Shell usw.
├── test - Unit -Tests und Benchmarks
├── views - HTML -Vorlagen mit Lenker mit Lenker
└── ... - Fügen Sie weitere Cloud -Funktionen wie worker , notifications usw. hinzu.
git clone -o seed https://github.com/kriasoft/node-starter-kit.git .local , dev , test und prod -Umgebungen ( ./env ).yarn installyarn db:createyarn start , sie wird unter http: // localhost: 8080 erhältlich. Verwenden Sie die Umgebungsvariable APP_ENV , um Skripte für verschiedene Umgebungen auszuführen, z. B.:
$ APP_ENV=test yarn db:migrate
$ APP_ENV=test yarn start
Wichtig : Stellen Sie sicher, dass VSCODE die Arbeitsbereicheversionen von TypeScript und Eslint verwendet.
yarn start - Startet die App im Entwicklungsmodus unter http://localhost:8080yarn build - kompiliert und bündelt die App für die Bereitstellungyarn lint - Code mit Eslint validierenyarn tsc - Validieren Sie den Code mit dem TypeScript -Compileryarn test - Führen Sie Einheitstests mit Scherz, Supertest ausyarn repl - Verbindung zur Datenbank mit der Knex Repl Shell herstellenyarn psql - Verbindung zur Datenbank mit PostgreSQL CLI herstellenyarn db:create - Erstellen einer neuen Datenbankyarn db:version - Überprüfen Sie die aktuelle Version der Datenbankyarn db:migrate - Das Datenbankschema migrieren in die neueste Versionyarn db:rollback - Rollback Die neueste Migrationyarn db:seed -Saatgut -Datenbank mit Beispiel- / Referenzdatenyarn db:reset -Stellen Sie die neueste DB-Schema-Migrationsdatei erneut anyarn update-types -Erzeugen Sie stark typisierte Datenmodelle aus dem Datenbankschema Setzen Sie optional APP_ENV auf local (Standard), dev , test oder prod bevor Sie diese Skripte ausführen.
Für jeden Identitätsanbieter der Drittanbieter, der für Ihre App aktiviert werden muss, müssen Sie Anwendungsanmeldeinformationen erhalten, die häufig als Client -ID/Secret bezeichnet werden.
http://localhost/auth/google/return als Callback -URL zurückGOOGLE_CLIENT_ID , GOOGLE_CLIENT_SECRET -Umgebungsvariablen in ./env/.env.* Für jede von Ihnen benötigte Umgebung. Von dort aus besuchen Sie http://localhost:8080/auth/google (oder das Öffnen in einem Popup -Fenster) den Anmeldefluss über Google einleiten.
http://localhost/auth/facebook/return als Callback -URL für den Anmeldebiet hinzuFACEBOOK_APP_ID , FACEBOOK_APP_SECRET Variablen in env/.env.* Von dort aus besuchen Sie http://localhost:8080/auth/facebook (oder das Öffnen in einem Popup -Fenster) den Anmeldefluss über Facebook einleiten.
Das Bereitstellungsskript ( yarn deploy ) basiert auf Google Cloud CLI ( gcloud ) -Tool, das Sie hier herunterladen können. Für CI/CD -Workflows benötigen Sie möglicherweise ein Docker -Bild wie dieses.
gcloud auth login - Autorisieren Sie das Google Cloud SDK (CLI) Tool, um Ihr Google -Konto zu verwenden.
Erstellen Sie ein neues GCP-Projekt für Ihre App mit IDs wie example für die Produktion und example-test für Test- / QA-Umgebungen. Stellen Sie hier sicher, dass die API für Cloud -Build -API- und Cloud -Funktionen in den Einstellungen Ihres GCP -Projekts hier aktiviert ist.
Erstellen Sie hier in derselben Region, in der Ihre App bereitgestellt werden muss, eine Cloud -SQL -Datenbankinstanz. Die Verwendung einer Micro -Instanz von Cloud SQL mit 0,6 GB RAM sollte für Tests und Websites mit geringem Verkehr in Ordnung sein.
Stellen Sie sicher, dass GOOGLE_CLOUD_PROJECT , GOOGLE_CLOUD_REGION , PGDATABASE , PGUSER und die anderen Umgebungsvariablen für die Zielbereitungsumgebung (z. B. /env/.env + /env/.env.prod für die Produktion) korrekt eingestellt sind.
Schließlich kompilieren und bereitstellen Sie die App durch Ausführen:
yarn build - Kompiliert die App in den .build -OrdnerAPP_ENV=<env> yarn db:migrate - Migrats Datenbank (Schema) in die neueste VersionAPP_ENV=<env> yarn deploy - Bereitstellen die App für Google Cloud -Funktionen (GCF). Wobei <env> die Zielumgebung ist, z. B. APP_ENV=prod yarn deploy .
yarn set version latest - Bump Yarn zur neuesten Versionyarn upgrade-interactive -Update Node.js Module (Abhängigkeiten)yarn pnpify --sdk vscode -Aktualisieren Sie TypeScript-, Eslint- und schönere Einstellungen in VSCODE Jeder und jeder ist eingeladen, einen Beitrag zu leisten. Überprüfen Sie zunächst die Liste der offenen Probleme, die mit Hilfe von HILFE GUT MEGELEMENDE AUSGABEN. Wenn Sie sich jedoch für ein Engagement entscheiden, nehmen Sie sich bitte einen Moment Zeit, um die Richtlinien zu überprüfen.
Copyright © 2016-Present KriAssoft. Dieser Quellcode ist unter der MIT -Lizenz in der Lizenzdatei lizenziert.
Hergestellt mit ♥ von Konstantin Tarkus (@Koistya, Blog) und Mitwirkenden.