/template-graphql-typescript

This template enables fast development of APIS using TypeScript and GraphQL

Primary LanguageTypeScriptApache License 2.0Apache-2.0

IBM Cloud

IBM Cloud platform Apache 2

Graphql/Typescript Code Pattern

This is a template repository for a Typescript-based Graphql micro-service.

This app contains an opinionated set of components for modern web development, including:

Getting started

  1. Click the 'Use this template' button above or this link to generate a new repository from this template.
  2. Clone the newly created template to your computer
  3. Update the project name in the project.json file and update the README with the following steps, run from the root of your project directory:
mv README.md STARTER-KIT.md
echo "# {project name}" > README.md
  1. Add and commit the changes to your repo.

Features

The starter kit provides the following features:

  • Logging using pino
  • TDD environment with jest
  • Pact testing Pact.io
  • DevOps pipeline

Deploying

After you have created a new git repo from this git template, remember to rename the project. Edit package.json and change the default name to the name you used to create the template.

Make sure you are logged into the IBM Cloud using the IBM Cloud CLI and have access to you development cluster. If you are using OpenShift make sure you have logged into OpenShift CLI on the command line.

npm i -g @ibmgaragecloud/cloud-native-toolkit-cli

Use the IBM Garage for Cloud CLI to register the GIT Repo with Jenkins

igc pipeline

Building Locally

To get started building this application locally, you can either run the application natively or use the IBM Cloud Developer Tools for containerization and easy deployment to IBM Cloud.

Native Application Development

Install the latest Node.js 6+ LTS version.

Once the Node toolchain has been installed, you can download the project dependencies with:

npm install
cd client; npm install; cd ..
npm run build
npm run start

To run your application locally:

npm run start

Your application will be running at http://localhost:3000. You can access the /health and /appmetrics-dash endpoints at the host.

Next Steps

License

This sample application is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.

Apache License FAQ