Git Product home page Git Product logo

payout-api's Introduction

typescript-basic

๐Ÿš€ Basic starter code for a scalable, production-ready GraphQL server written in TypeScript.

Features

  • Scalable GraphQL Server: graphql-yoga based on Apollo Server & Express
  • GraphQL-native database: Includes GraphQL database binding to Prisma (running on MySQL)
  • Out-of-the-box support for GraphQL Playground & Tracing
  • Simple data model โ€“ easy to adjust
  • Preconfigured graphql-config setup

Requirements

You need to have the following things installed:

  • Node 8+ & TypeScript
  • GraphQL CLI: npm i -g graphql-cli

Getting started

# 1. Bootstrap GraphQL server in directory `my-app`, based on `typescript-basic` boilerplate
graphql create my-app --boilerplate typescript-basic

# 2. When prompted, choose the Prisma cluster you want to deploy to
# e.g. prisma-eu1 or prisma-us1 to deploy to a public cluster (recommended)
# or locally (requires Docker)

# 3. Navigate to the new project
cd my-app

# 4. Start server (runs on http://localhost:4000) and open GraphQL Playground
yarn dev
# or
# yarn start # (only starts the server, no access to the Prisma API)

Note: We recommend that you're using yarn dev during development as it will give you access to the GraphQL API or your server (defined by the application schema) as well as to the Prisma API directly (defined by the Prisma schema). If you're starting the server with yarn start, you'll only be able to access the API for the application schema.

Docs

Commands

  • yarn start starts GraphQL server on http://localhost:4000 (only allows access to the _appl)
  • yarn dev starts GraphQL server opens the GraphQL Playground for the projects defined in .graphqlconfig.yml
  • yarn playground opens the GraphQL Playground for the projects defined in .graphqlconfig.yml
  • yarn prisma <subcommand> access to local version of Prisma CLI (e.g. yarn prisma deploy)

Project structure

/ - configuration files

/database - Prisma service

/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.js is the entry point of your server, putting everything together and starting the GraphQLServer from graphql-yoga.
  • src/resolvers/ contains the actual business logic of your application. In GraphQL, you implement resolver functions that resolve a specific query being requested.
  • src/generated/prisma.graphql defines the database schema. It contains the GraphQL API exposed by the Prisma Database. This file is automatically generated every time yarn prisma deploy is executed, according to the datamodel in database/datamodel.graphql.
  • src/generated/prisma.ts contains the generated TypeScript type definitions from the prisma-binding. You can read more about static bindings in this article.

Contributing

Your feedback is very helpful, please share your opinion and thoughts! If you have any questions, join the #graphql-boilerplates channel on our Slack.

payout-api's People

Contributors

aylabyuk avatar

Watchers

 avatar  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.