Very simple boilerplate using GraphQL and DataLoader
├── /data/ # GraphQL generated schema
├── /repl/ # Read-Eval-Print-Loop (REPL) configuration
├── /scripts/ # Generate GraphQL schema script
├── /src/ # Source code of GraphQL Server
│ ├── /connection/ # Connections types (Relay)
│ ├── /interface/ # NodeInterface (Relay)
│ ├── /loader/ # Loaders of the models using DataLoader
│ ├── /model/ # Models definition (Mongoose, SQL, Google DataStore)
│ ├── /mutation/ # Mutations definition
├── /test/ # Test helpers
If you want to move faster you should use create-graphql to simplify the creation of a GraphQL Server
npm install
Note: If you do not have mongodb installed, please install it:
brew install mongodb
npm run watch
npm test
Or
npm run test:watch
No needs for installing dependencies or running mongod
in another terminal window
docker-compose build && docker-compose up
Test
docker-compose -f docker-compose.test.yml build && docker-compose -f docker-compose.test.yml up
# first compile the code
npm run build
# run graphql compiled server
npm start
npm run flow
Or
flow
npm run repl
awesome > const user = await M.User.find()
Yep, await syntax works on the repl, it is awesome, tks @princejwesley (https://gist.github.com/princejwesley/a66d514d86ea174270210561c44b71ba)
Update your schema
npm run update-schema
Take a look on the Schema