🚀 Bootstrap your GraphQL server within seconds
Advanced starter kit for a flexible GraphQL server for TypeScript - based on best practices from the GraphQL community.
- Scalable GraphQL server: The server uses
apollo-server-express
- Static type generation: TypeScript types for GraphQL queries & mutations are generated in a build step and
graphql-code-generator
for generating types for resolvers - Authentication: Signup and login workflows are ready to use for your users
- GraphQL database: Includes GraphQL database binding to Prisma (running on MySQL)
- 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
Read more about the idea behind GraphQL boilerplates here.
# 1. Install dependencies
yarn install
# 2. Run the server
yarn start
yarn start
starts GraphQL server onhttp://localhost:4000
yarn prisma:deploy
Deploys the Prisma service to the clusteryarn prisma:reset
Resets the databaseyarn prisma:seed
Seed the database with data found inprisma/seed.graphql
yarn codegen
Generate resolver types based on thesrc/schema.graphql
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.graphql |
Defines your data model (written in GraphQL SDL) |
└── src (directory) |
Contains the source files for your GraphQL server |
├── index.ts |
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 |
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.