Git Product home page Git Product logo

nest-graphql-example's Introduction

Description

An example of a NestJS application that uses GraphQL with TypeORM.

Installation

$ npm install

Environment variables

mv .env.example .env
mv .env.example .env.test

First time setup

  • Create a databases (for development and testing)
  • Update POSTGRES_URL

Running the app

# watch mode
$ npm run start:dev

Running e2e tests

$ npm run test:e2e

Showcases

  • Using code first approach to define GraphQL schema
  • Reduce duplicated code and define everything at one place
  • One mutation / query per file
  • Field resolvers between entities

Sample queries / mutations

Open http://localhost:3000/graphql

Query recipes with user

query {
  recipes(skip: 10, limit: 10) {
    id
    title
    user {
      email
    }
  }
}

Query users with recipes

query {
  users(skip: 2, limit: 2) {
    id
    email
    recipes {
      title
    }
  }
}

Create a new user

mutation {
  createUser(createUserInput: {
    email: "[email protected]",
    name: "Brian Nguyen"
  }) {
    id
    name
    email
    createdAt
    updatedAt
  }
}

Create a new recipe

mutation {
  createRecipe(createRecipeInput: {
    title: "Rep 01",
    ingredients: ["4", "5", "6"],
    description: "Wow! The second one",
    userId: "<<TAKE_USER_ID_FROM_PREV_STEP>>"
  }) {
    id
    title
    createdAt
    updatedAt
    description
  }
}

nest-graphql-example's People

Contributors

vanpho93 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.