design-board-microservice
v1.0.1
Published
Design Board GraphQL Microservice provides the APIs to manage a Design Board.
Downloads
3
Readme
Overview
Design Board GraphQL Microservice provides the APIs to manage a Design Board.
Requirements
You need to have the following things installed:
- Node 8+ & TypeScript
- Graphcool CLI:
npm i -g graphcool@beta
- GraphQL CLI:
npm i -g graphql-cli
Getting started
Step 1. Install Dependencies
$>npm install
Step 2. Deploy the Graphcool database (choose option for local deployment)
This will launch GraphCool Database Docker Container and a MySQL Docker Container, push the datamodel.graphql schema to that database
$> graphcool deploy
Step 3. Start NodeJs GraphQL server
This run the graphql service - http://localhost:5151
$> npm start
- GraphQL-Playground - http://localhost:5151
- GraphQL-Voyager - http://localhost:5151/voyager
Note - GraphQL-Voyager is an Interactive Graph Visualizer
Step 4. During Development if schema changes happens
After any changes are made to database/datamodel.graphql file, please run the following command again. This will not only push the schema changes to GraphCool Database, but also to necessary migrations.
$> graphcool deploy
Project structure
/
- configuration files
.graphqlconfig.yml
GraphQL configuration file containing the endpoints and schema configuration. Used by thegraphql-cli
and the GraphQL Playground. Seegraphql-config
for more information.graphcool.yml
The configuration file for your database service (documentation).
/database
- datamodel
database/datamodel.graphql
contains the data model that you define for your database service (written in SDL).
/src
- application server
src/schema.graphql
defines your application schema. It contains the GraphQL API that you want to expose to your client applications.src/index.ts
is the entry point of your server, putting everything together and starting theGraphQLServer
fromgraphql-yoga
.
/src/generated
- generated files
src/generated/schema.graphql
defines your database schema. It contains the GraphQL API exposed by the Graphcool Database. This file is automatically generated every timegraphcool deploy
is executed, according to the datamodel indatabase/datamodel.graphql
.src/generated/graphcool.ts
static TypeScript type definitions forgraphcool-binding
, enabling autocompletion in your IDE. This file is automatically generated usinggraphql prepare
every timegraphcool deploy
is executed.