Awesome Open Source
Awesome Open Source

GraphQL
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

Getting Started

Just clone the repo and run yarn setup followed by yarn start:

$ git clone --origin=upstream --branch=main --single-branch \
    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 application

The API server must become available at http://localhost:8080/graphql.
The web application front-end must become available at http://localhost:3000/.

References

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 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 pnpify --sdk vscode      # Update VSCode settings

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.

License

Copyright © 2016-present Kriasoft. This source code is licensed under the MIT license found in the LICENSE file.


Made with ♥ by Konstantin Tarkus (@koistya, blog) and contributors.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,514,831) 
Typescript (253,315) 
Reactjs (72,998) 
Nodejs (54,033) 
Api (22,055) 
Graphql (8,238) 
Template (7,781) 
Postgresql (7,717) 
Boilerplate (5,531) 
Material Ui (3,505) 
Postgres (2,206) 
Hackathon (1,872) 
Yarn (1,606) 
Starter Kit (1,371) 
Monorepo (861) 
Cloudflare (778) 
Relay (549) 
Cloudflare Workers (373) 
Related Projects
Advertising 📦 9
All Projects
Application Programming Interfaces 📦 120
Applications 📦 181
Artificial Intelligence 📦 72
Blockchain 📦 70
Build Tools 📦 111
Cloud Computing 📦 79
Code Quality 📦 28
Collaboration 📦 30
Command Line Interface 📦 48
Community 📦 81
Companies 📦 60
Compilers 📦 60
Computer Science 📦 74
Configuration Management 📦 39
Content Management 📦 167
Control Flow 📦 197
Data Formats 📦 77
Data Processing 📦 266
Data Storage 📦 132
Economics 📦 60
Frameworks 📦 198
Games 📦 122
Graphics 📦 103
Hardware 📦 148
Integrated Development Environments 📦 47
Learning Resources 📦 147
Legal 📦 28
Libraries 📦 119
Lists Of Projects 📦 21
Machine Learning 📦 336
Mapping 📦 61
Marketing 📦 15
Mathematics 📦 55
Media 📦 228
Messaging 📦 97
Networking 📦 304
Operating Systems 📦 84
Operations 📦 120
Package Managers 📦 52
Programming Languages 📦 229
Runtime Environments 📦 96
Science 📦 42
Security 📦 375
Social Media 📦 26
Software Architecture 📦 70
Software Development 📦 68
Software Performance 📦 57
Software Quality 📦 127
Text Editors 📦 45
Text Processing 📦 131
User Interface 📦 310
User Interface Components 📦 465
Version Control 📦 29
Virtualization 📦 68
Web Browsers 📦 38
Web Servers 📦 25
Web User Interface 📦 194