Node.js API Starter Kit es una plantilla de proyecto para la creación de aplicaciones de backend nodo.js optimizadas para infraestructura sin servidor, como las funciones de Google Cloud, AWS Lambda, funciones de azul, etc. Úselo como un servidor API para su aplicación frontal.
local , dev , test y prodEste proyecto fue arrancado con el kit de inicio de la API Node.js. Asegúrese de unirse a nuestro canal Discord para obtener ayuda.
├── .build
├── .vscode - Configuración de Vscode que incluye fragmentos de código, extensiones recomendadas, etc.
├── api - Función en la nube para manejar solicitudes de API usando GraphQL.js
├── auth - Autenticación y middleware de sesión
├── core : módulos de aplicación comunes (correo electrónico, registro, etc.)
├── db - Cliente de base de datos para PostgreSQL usando KNEX
├── emails : plantillas de correo electrónico para correos electrónicos transaccionales utilizando manillares
├── env - Variables de entorno para local , dev , test y prod
├── - migrations de la base de datos Migraciones (Cloud SQL, Knex)
├── : scripts de implementación, shell scripts , etc.
├── test - Pruebas unitarias y puntos de referencia
├── views plantillas HTML usando manillar
└── ... - Agregue más funciones en la nube como worker , notifications , etc.
git clone -o seed https://github.com/kriasoft/node-starter-kit.git .local , dev , test y prod ( ./env ).yarn installyarn db:createyarn start , estará disponible en http: // localhost: 8080. Use la variable de entorno APP_ENV para ejecutar scripts para diferentes entornos, por ejemplo:
$ APP_ENV=test yarn db:migrate
$ APP_ENV=test yarn start
IMPORTANTE : Asegúrese de que VScode esté utilizando las versiones del espacio de trabajo de TypeScript y Eslint.
yarn start : inicia la aplicación en modo de desarrollo en http://localhost:8080yarn build : compila y agrupa la aplicación para su implementaciónyarn lint - Validar el código usando Eslintyarn tsc - Validar el código usando compilador de mecanografiadoyarn test : ejecute pruebas unitarias con broma, supertestyarn repl : conectarse a la base de datos usando el shell repliete de Knexyarn psql : conéctese a la base de datos utilizando PostgreSQL CLIyarn db:create - Crear una nueva base de datosyarn db:version : verifique la versión actual de la base de datosyarn db:migrate - Migrate el esquema de la base de datos a la última versiónyarn db:rollback - Reversión La última migraciónyarn db:seed - Base de datos de semillas con datos de muestra / referenciayarn db:reset -Vuelva a aplicar el último archivo de migración de esquema de DByarn update-types : genere modelos de datos fuertemente tipados a partir del esquema de la base de datos Opcionalmente, establezca APP_ENV en local (predeterminado), dev , test o prod antes de ejecutar estos scripts.
Para cada proveedor de identidad de terceros que debe habilitarse para su aplicación, deberá obtener credenciales de aplicación, a menudo llamadas ID/Secret del cliente.
http://localhost/auth/google/return como la URL de devolución de llamadaGOOGLE_CLIENT_ID , GOOGLE_CLIENT_SECRET Variables de entorno encontradas en ./env/.env.* para cada entorno que necesita. A partir de ahí, visitar http://localhost:8080/auth/google (o abrirlo en una ventana emergente) iniciaría el flujo de inicio de sesión a través de Google.
http://localhost/auth/facebook/return como URL de devolución de llamada para el flujo de inicio de sesiónFACEBOOK_APP_ID , FACEBOOK_APP_SECRET Variables encontradas en archivos env/.env.* Para cada entorno que necesita. A partir de ahí, visitar http://localhost:8080/auth/facebook (o abrirlo en una ventana emergente) iniciaría el flujo de inicio de sesión a través de Facebook.
El script de implementación ( yarn deploy ) se basa en la herramienta Google Cloud CLI ( gcloud ) que puede descargar desde aquí. Para los flujos de trabajo CI/CD, es posible que necesite una imagen Docker como esta.
gcloud auth login : autorice la herramienta Google Cloud SDK (CLI) para usar su cuenta de Google.
Cree un nuevo proyecto GCP para su aplicación con IDS, como example de producción y example-test para entornos de prueba / QA. Asegúrese de que la API de construcción de nubes y las funciones de la nube se habilitan aquí en la configuración de su proyecto GCP.
Cree una instancia de base de datos de Cloud SQL aquí en la misma región donde se debe implementar su aplicación. El uso de una micro instancia de Cloud SQL con RAM de 0.6 GB debe estar bien para las pruebas y los sitios web de bajo tráfico.
Asegúrese de que GOOGLE_CLOUD_PROJECT , GOOGLE_CLOUD_REGION , PGDATABASE , PGUSER y las otras variables de entorno se establezcan correctamente para el entorno de implementación de destino ( /env/.env /env/.env.prod Ej.
Finalmente, compile e implemente la aplicación ejecutando:
yarn build : compila la aplicación en la carpeta .buildAPP_ENV=<env> yarn db:migrate - migra base de datos (esquema) a la última versiónAPP_ENV=<env> yarn deploy : implementa la aplicación en las funciones de Google Cloud (GCF) Donde <env> es el entorno objetivo, por ejemplo, APP_ENV=prod yarn deploy .
yarn set version latest : bump hilo a la última versiónyarn upgrade-interactive -Módulos de actualización Node.js (dependencias)yarn pnpify --sdk vscode -Configuración de actualización de TypeScript, Eslint y Prettier en VScode Cualquiera y todos pueden contribuir. Comience revisando la lista de problemas abiertos marcados con la ayuda deseada. Sin embargo, si decide involucrarse, tómese un momento para revisar las pautas.
Copyright © 2016-Present Kriasoft. Este código fuente tiene licencia bajo la licencia MIT que se encuentra en el archivo de licencia.
Hecho con ♥ por Konstantin Tarkus (@koistya, blog) y colaboradores.