├──.github — GitHub configuration including CI/CD workflows ├──.vscode — VSCode settings including code snippets, recommended extensions etc. ├──env — environment variables that are used for local development (local, test, prod) ├──db — database schema, seeds, and migrations (Cloud SQL, Knex.js) ├──api — GraphQL API and authentication (Could SQL, Cloud Functions, GraphQL.js) ├──img — dynamic image resizing (Cloud Functions, [Cloud Storage](https://
cloud.google.com/storage)) ├──infra — cloud infrastructure configuration (Terraform) ├──web — React / Relay web application with CDN rendering (Webpack, Cloudflare Workers) ├──scripts — Automation scripts shared across the project └── ... — add more packages such as worker, admin, mobile, etc.
Before you can deploy the app, ensure that the target
GCP project exists
and that all the environment variables (found in /env/*.env files) are
up-to-date, for both test (QA) and prod (production) environments.
If you just created a brand new GCP project, you can configure it by running:
OR, by using Terraform (found in /infra), which one is more
convenient for you.
Once a new commit or PR lands onto the main (or, release) branch, it's going
to be deployed automatically using a GitHub Actions workflow. Alternatively,
you can deploy the app manually by running:
# Build and deploy the GraphQL API (GCF)
$ yarn api:build
$ yarn api:deploy --env=prod
# Build and deploy the web front-end to Cloudflare Workers (CDN)
$ yarn web:build
$ yarn web:deploy --env=prod
# Migrate the target database to the latest version
$ yarn db:migrate --env=prod
Where --env=prod is the target (production) deployment environment,
using --env=test when not specified.
In the case when you kept the original Node.js Starter Kit git history, you can
always pull and merge updates from the "upstream" repository back into your
project by running:
$ git fetch seed # Fetch Node.js Starter Kit (upstream) repository
$ git checkout main # Switch to the main branch (or, master branch)
$ git merge seed/main # Merge upstream/master into the local branch
In order to update Yarn and other dependencies to the latest versions, run:
$ yarn set version latest # Upgrade Yarn CLI to the latest version
$ yarn upgrade-interactive # Bump Node.js dependencies using an interactive mode
$ yarn install # Install the updated Node.js dependencies
$ yarn dlx @yarnpkg/sdks vscode # Update VSCode settings
Backers
How to Contribute
Anyone and everyone is welcome to contribute. Start
by checking out the list of open issues
marked help wanted.
However, if you decide to get involved, please take a moment to review the
guidelines.
请发表评论