
Node.js API Starter Kit
Yarn v2 based monorepo template for quickly bootstrapping production ready web application projects optimized for serverless infrastructure, using code-first GraphQL API and PostgreSQL backend.
This project was bootstrapped with Node.js API Starter Kit. Be sure to join our Discord channel for assistance.
Directory Structure
βββ.github β GitHub configuration including CI/CD
βββ.vscode β VSCode settings including code snippets, recommended extensions etc.
βββenv β environment variables used for local development
βββdb β database schema and some administration tools
βββapi β GraphQL API server and authentication middleware
βββproxy β reverse proxy implemented using Cloudflare Workers
βββweb β web application project skeleton based on React.js and Next.js
βββscripts β Automation scripts shared across the project
βββ ... β add more packages such as worker, admin, mobile, etc.
Requirements
- Node.js v12 or higher, Yarn package manager
- Local or remote instance of PostgreSQL (see Postgres.app, Google Cloud SQL)
- VS Code editor with recommended extensions
Getting Started
Just clone the repo and run yarn setup followed by yarn start:
$ git clone --origin=upstream --branch=main --single-branch --depth=0 \
https://github.com/kriasoft/nodejs-api-starter.git example
$ cd ./example # Change current directory to the newly created one
$ yarn setup # Configure environment variables
$ yarn start # Launch Node.js API and web applicationThe API server must become available at http://localhost:8080/graphql.
The web application front-end must become available at http://localhost:3000/.
References
- Yarn 2 (Berry) - Plug'n'play, constraints and workspaces by @jherr
- Google Cloud SQL β Tips & Tricks by @koistya
- Database change management with Node.js by @koistya
How to Update
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 upstream # Fetch Node.js Starter Kit (upstream) repository
$ git checkout main # Switch to the main branch (or, master branch)
$ git merge upstream/main # Merge upstream/master into the local branchIn 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 pnpify --sdk vscode # Update VSCode settingsHow 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.
License
Copyright Β© 2016-present Kriasoft. This source code is licensed under the MIT license found in the LICENSE file.
Made with

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

