O kit de partida da API Node.js é um modelo de projeto para criar aplicativos de back-end node.js otimizados para infraestrutura sem servidor, como funções do Google Cloud, AWS Lambda, Funções do Azure, etc. Use-o como um servidor de API para o seu aplicativo front-end.
local , dev , test e prodEste projeto foi inicializado com o kit inicial Node.js API. Certifique -se de participar do nosso canal Discord para obter assistência.
├── .build
├── .vscode - Configurações do vscode, incluindo trechos de código, extensões recomendadas etc.
├── api - Função em nuvem para lidar com solicitações de API usando grafql.js
├── auth
├── core - módulos de aplicativos comuns (email, log, etc.)
├── db
├── emails - modelos de e -mail para e -mails transacionais usando guidão
├── env local dev test prod
├── migrations - Migrações de esquema de banco de dados (Cloud SQL, Knex)
├── - scripts - Scripts de implantação, repl Shell, etc.
├── test - Testes de unidade e benchmarks
├── views - modelos HTML usando guidão
└── ... - Adicione mais funções em nuvem, como worker , notifications , etc.
git clone -o seed https://github.com/kriasoft/node-starter-kit.git .local , dev , test e prod ( ./env ).yarn installyarn db:createyarn start , ele ficará disponível em http: // localhost: 8080. Use a variável de ambiente APP_ENV para executar scripts para diferentes ambientes, por exemplo:
$ APP_ENV=test yarn db:migrate
$ APP_ENV=test yarn start
IMPORTANTE : Verifique se o VSCode está usando as versões da área de trabalho do TypeScript e Eslint.
yarn start - Lança o aplicativo no modo de desenvolvimento em http://localhost:8080yarn build - compila e empacota o aplicativo para implantaçãoyarn lint - Validar código usando Eslintyarn tsc - Código Validar usando o Compilador TypeScriptyarn test - Execute testes de unidade com JEST, SUPERTESTyarn repl - Conecte -se ao banco de dados usando Knex Repl Shellyarn psql - Conecte -se ao banco de dados usando PostgreSQL CLIyarn db:create - Crie um novo banco de dadosyarn db:version - Verifique a versão atual do banco de dadosyarn db:migrate - Migrar o esquema do banco de dados para a versão mais recenteyarn db:rollback - reversão da mais recente migraçãoyarn db:seed - Banco de dados de sementes com dados de amostra / referênciayarn db:reset -reaplicar o mais recente arquivo de migração de esquema de banco de dadosyarn update-types Gere modelos de dados fortemente digitados a partir de esquema de banco de dados Opcionalmente, defina APP_ENV como local (padrão), dev , test ou prod antes de executar esses scripts.
Para cada provedor de identidade de terceiros que precisa ser ativado para o seu aplicativo, você precisará obter credenciais de aplicativos, geralmente chamadas de ID/segredo do cliente.
http://localhost/auth/google/return como URL de retorno de chamadaGOOGLE_CLIENT_ID , GOOGLE_CLIENT_SECRET variáveis de ambiente encontradas em ./env/.env.* para cada ambiente necessário. A partir daí, visitar http://localhost:8080/auth/google (ou, abri -lo em uma janela pop -up) iniciaria o fluxo de login via Google.
http://localhost/auth/facebook/return como URL de retorno de chamada para o fluxo de loginFACEBOOK_APP_ID , FACEBOOK_APP_SECRET Variáveis encontradas em env/.env.* Arquivos para cada ambiente necessário. A partir daí, visitar http://localhost:8080/auth/facebook (ou, abri -lo em uma janela pop -up) iniciaria o fluxo de login via Facebook.
O script de implantação ( yarn deploy ) conta com a ferramenta Google Cloud Cli ( gcloud ) que você pode baixar aqui. Para fluxos de trabalho de CI/CD, você pode precisar de uma imagem do Docker como esta.
gcloud auth login - Autorize a ferramenta do Google Cloud SDK (CLI) para usar sua conta do Google.
Crie um novo projeto GCP para o seu aplicativo com IDs como example de produção e example-test para ambientes de teste / controle de qualidade. Verifique se a API da API e das funções de nuvem em nuvem estão ativadas nas configurações do seu projeto GCP aqui.
Crie uma instância de banco de dados SQL em nuvem aqui na mesma região em que seu aplicativo precisa ser implantado. O uso de uma micro instância do Cloud SQL com RAM 0,6 GB deve ser bom para testes e sites de baixo tráfego.
Certifique -se de que GOOGLE_CLOUD_PROJECT , GOOGLE_CLOUD_REGION , PGDATABASE , PGUSER e as outras variáveis de ambiente estejam corretamente definidas para o ambiente de implantação de destino (por exemplo, /env/.env + /env/.env.prod para produção).
Finalmente, compilar e implantar o aplicativo executando:
yarn build - compila o aplicativo na pasta .buildAPP_ENV=<env> yarn db:migrate - migra o banco de dados (esquema) para a versão mais recenteAPP_ENV=<env> yarn deploy - implanta o aplicativo para o Google Cloud Functions (GCF) Onde <env> é o ambiente de destino, por exemplo, APP_ENV=prod yarn deploy .
yarn set version latest - Bump Yarn para a versão mais recenteyarn upgrade-interactive -Update Node.js Módulos (dependências)yarn pnpify --sdk vscode -ATUALIZAÇÃO TIPO DIPLECRIPT, ESLINT e configurações mais bonitas em vscode Qualquer um e todo mundo pode contribuir. Comece verificando a lista de questões abertas que procuram ajuda. No entanto, se você decidir se envolver, reserve um momento para revisar as diretrizes.
Copyright © 2016-presente Kriasoft. Esse código -fonte é licenciado sob a licença do MIT encontrada no arquivo de licença.
Feito com ♥ por Konstantin Tarkus (@koistya, blog) e colaboradores.