/apollo-graphql-server-boilerplate

An opinionated GraphQL server stack boilerplate to kickstart your next project! 🚀

Primary LanguageTypeScriptMIT LicenseMIT

Apollo GraphQL Server Boilerplate

⚠️ WIP: This project is currently a work in progress. Features may be missing or incomplete.

Dependency status devDependency status Known vulnerabilities Code size License
Test coverage (Coveralls) Test coverage (Codecov) Build status (Appveyor) Build status (Travis CI) Build status (Appveyor)
Created by by Ben Yap.

An opinionated GraphQL server stack, written in Typescript.

This server boilerplate provides the scaffolding for building a service-oriented production-ready GraphQL server, built on top of Apollo Server 2.0 with Express integration.

Features

The power of GraphQL at your fingertips
Utilise the latest features of GraphQL to build a robust API.
Automatic type generation
Built-in scripts which generate Typescript typings from your schema. Say goodbye to maintaining type definitions by hand!
Instant feedback
Automatic reloading of the server when you make changes.
Next generation JavaScript
Use template strings, object destructuring, arrow functions, JSX syntax and more.
Static code analysis
Focus on writing new features without worrying about formatting or code quality. With the right editor setup, your code will automatically be formatted and linted as you work.

Quick start

  1. Make sure that you have Node.js v8.10 and npm v5 or above installed.
  2. Clone this repo using git clone --depth=1 https://github.com/bwyap/apollo-graphql-server-boilerplate.git <YOUR_PROJECT_NAME>
  3. Move to the appropriate directory: cd <YOUR_PROJECT_NAME>.
  4. Run npm run setup in order to install dependencies and clean the git repo. (TODO: implement this)
    At this point you can run npm start to start the server at http://localhost:4000.
  5. Run npm run clean to delete the example app. (TODO: implement this)

Now you're ready to rumble!

Please note that this boilerplate is production-ready and not meant for beginners!

Documentation


License

This project is licensed under the MIT license, Copyright (c) Ben Yap. For more information see LICENSE.md.