Skip to content

Latest commit

 

History

History
73 lines (50 loc) · 3.67 KB

README.md

File metadata and controls

73 lines (50 loc) · 3.67 KB

Boilerplate for an Advanced GraphQL Server


🚀 Bootstrap your GraphQL server within seconds
Advanced starter kit for a flexible GraphQL server for Node.js - based on best practices from the GraphQL community.

Features

  • Scalable GraphQL server: The server uses graphql-yoga which is based on Apollo Server & Express
  • GraphQL database: Includes GraphQL database binding to Prisma (running on MySQL)
  • Authentication: Signup and login workflows are ready to use for your users
  • Tooling: Out-of-the-box support for GraphQL Playground & query performance tracing
  • Extensible: Simple and flexible data model – easy to adjust and extend
  • No configuration overhead: Preconfigured graphql-config setup
  • Realtime updates: Support for GraphQL subscriptions

For a fully-fledged GraphQL & Node.js tutorial, visit How to GraphQL.

Requirements

You need to have the GraphQL CLI installed to bootstrap your GraphQL server using graphql create:

npm install -g graphql-cli

Getting started

# 1. Bootstrap GraphQL server in directory `my-app`, based on `node-advanced` boilerplate
graphql create my-app --boilerplate node-advanced

# 2. When prompted, deploy the Prisma service to a _public cluster_

# 3. Navigate to the new project
cd my-app

# 4. Start server (runs on http://localhost:4000)
yarn start

Documentation

Commands

  • yarn start starts GraphQL server on http://localhost:4000
  • yarn prisma <subcommand> gives access to local version of Prisma CLI (e.g. yarn prisma deploy)

Project structure

File name                Description         

├── .env Defines environment variables
└── database (directory) Contains all files that are related to the Prisma database service
  ├── prisma.yml The root configuration file for your Prisma database service (docs)
  └── datamodel.prisma Defines your data model (written in GraphQL SDL)
└── src (directory) Contains the source files for your GraphQL server
  ├── index.js The entry point for your GraphQL server
  ├── schema.graphql The application schema defining the API exposed to client applications
  ├── resolvers (directory) Contains the implementation of the resolvers for the application schema
  └── generated (directory) Contains generated files
    └── prisma-client (directory) The generated Prisma client

Contributing

The GraphQL boilerplates are maintained by the GraphQL community, with official support from the Apollo & Prisma teams.

Your feedback is very helpful, please share your opinion and thoughts! If you have any questions or want to contribute yourself, join the #graphql-boilerplate channel on our Slack.