/RO-Plant-Management-Backend

RO Plant Management System Backend using Prisma/GraphQL/graphql-yoga/graphql-shield/PostgreSQL

Primary LanguageJavaScript

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.