All Projects → IBM → nodejs-microservice

IBM / nodejs-microservice

Licence: Apache-2.0 license
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to nodejs-microservice

speech-to-text-code-pattern
React app using the Watson Speech to Text service to transform voice audio into written text.
Stars: ✭ 37 (+105.56%)
Mutual labels:  ibm-cloud
watson-vehicle-damage-analyzer
A server and mobile app to send pictures of vehicle damage to IBM Watson Visual Recognition for classification
Stars: ✭ 62 (+244.44%)
Mutual labels:  ibm-cloud
awesome-ibmcloud
A curated list of awesome IBM Cloud SDKs, open source repositories, tools, blogs and other resources.
Stars: ✭ 77 (+327.78%)
Mutual labels:  ibm-cloud
simple-search-service
A faceted search engine and content API.
Stars: ✭ 38 (+111.11%)
Mutual labels:  ibm-cloud
core-dump-handler
Save core dumps from a Kubernetes Service or RedHat OpenShift to an S3 protocol compatible object store
Stars: ✭ 45 (+150%)
Mutual labels:  ibm-cloud
watson-discovery-food-reviews
Combine Watson Knowledge Studio and Watson Discovery to discover customer sentiment from product reviews
Stars: ✭ 36 (+100%)
Mutual labels:  ibm-cloud
nodejs-express-app
Start building your next Node.js Express app on IBM Cloud.
Stars: ✭ 42 (+133.33%)
Mutual labels:  ibm-cloud
webping.cloud
Test your network latency to the nearest cloud provider in AWS, Azure, GCP, Alibaba Cloud, IBM Cloud, Oracle Cloud and DigitalOcean directly from your browser.
Stars: ✭ 60 (+233.33%)
Mutual labels:  ibm-cloud
github-traffic-stats
Manage and automatically collect Github traffic statistics for repositories
Stars: ✭ 30 (+66.67%)
Mutual labels:  ibm-cloud
agile-tutorial
A tutorial for agile development of cloud applications.
Stars: ✭ 16 (-11.11%)
Mutual labels:  ibm-cloud
gdpr-fingerprint-pii
Use Watson Natural Language Understanding and Watson Knowledge Studio to fingerprint personal data from unstructured documents
Stars: ✭ 49 (+172.22%)
Mutual labels:  ibm-cloud
fb-watson
Hands-on developing an application using IBM Watson services with Facebook Messenger integrated through serverless functions
Stars: ✭ 19 (+5.56%)
Mutual labels:  ibm-cloud
opentracing-istio-troubleshooting
Tackle the challenge of observability in a Kubernetes application that consists of multiple microservices running in the Open Liberty application server.
Stars: ✭ 16 (-11.11%)
Mutual labels:  ibm-cloud
openwhisk-slackapp
A serverless Slack app built with Slack Events API and IBM Cloud Functions
Stars: ✭ 24 (+33.33%)
Mutual labels:  ibm-cloud
slack-chatbot-database-watson
Code for the solution tutorial "Build a database-driven Slackbot" (chatbot) with a custom extension in IBM Watson Assistant
Stars: ✭ 23 (+27.78%)
Mutual labels:  ibm-cloud
openwhisk-workshops
IBM Cloud Functions (Apache OpenWhisk) workshops
Stars: ✭ 16 (-11.11%)
Mutual labels:  ibm-cloud
Training
🐝 A fast, easy and collaborative open source image annotation tool for teams and individuals.
Stars: ✭ 2,615 (+14427.78%)
Mutual labels:  ibm-cloud
vpc-tutorials
Companion scripts to VPC tutorials
Stars: ✭ 14 (-22.22%)
Mutual labels:  ibm-cloud
jpetstore-kubernetes
Modernize and Extend: JPetStore on IBM Cloud Kubernetes Service
Stars: ✭ 21 (+16.67%)
Mutual labels:  ibm-cloud
openshift-install-power
UPI Install helper to deploy OpenShift 4 on IBM Power Systems Virtual Server using Terraform IaC
Stars: ✭ 16 (-11.11%)
Mutual labels:  ibm-cloud

WARNING: This repository is no longer maintained ⚠️

Please see the replacement repositories available for Node.js, Go, Java Liberty, Java Spring, Python Flask, Python Django, and Swift.

This repository will not be updated. The repository will be kept available in read-only mode.

IBM Cloud

IBM Cloud platform Apache 2

Create and deploy a Node.js Microservice

We have similar applications available for Go, Java Spring, Python Flask, and Java Liberty.

In this sample microservice, you will create a microservice using Express in Node.js, complete with standard best practices, including a health check and application metric monitoring. A microservice is an individual component of an application that follows the microservice architecture - an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice exposes a RESTful API matching a Swagger definition.

You can access the cloud native microservice capabilities at the following endpoints:

  • The Swagger UI is running on: /explorer
  • The Swagger definition is running on: /swagger/api
  • Health endpoint: /health

Steps

You can deploy this application to IBM Cloud or build it locally by cloning this repo first. Once your app is live, you can access the /health endpoint to build out your cloud native application.

Deploying to IBM Cloud

Deploy to IBM Cloud

Click Deploy to IBM Cloud to deploy this same application to IBM Cloud. This option creates a deployment pipeline, complete with a hosted GitLab project and a DevOps toolchain. You can deploy your app to Cloud Foundry, a Kubernetes cluster, or a Red Hat OpenShift cluster. OpenShift is available only through a standard cluster, which requires you to have a billable account.

IBM Cloud DevOps services provides toolchains as a set of tool integrations that support development, deployment, and operations tasks inside IBM Cloud.

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 10+ LTS version.

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

npm install

To run your application locally:

npm run start

Your application will be running at http://localhost:3000. You can access the /health endpoint at the host.

IBM Cloud Developer Tools

Install IBM Cloud Developer Tools on your machine by running the following command:

curl -sL https://ibm.biz/idt-installer | bash

Create an application on IBM Cloud by running:

ibmcloud dev create

This will create and download a starter application with the necessary files needed for local development and deployment.

Your application will be compiled with Docker containers. To compile and run your app, run:

ibmcloud dev build
ibmcloud dev run

This will launch your application locally. When you are ready to deploy to IBM Cloud on Cloud Foundry or Kubernetes, run one of the following commands:

ibmcloud dev deploy -t buildpack // to Cloud Foundry
ibmcloud dev deploy -t container // to K8s cluster

You can build and debug your app locally with:

ibmcloud dev build --debug
ibmcloud dev debug
Session Store

You may see this warning when running ibmcloud dev run:

Warning: connect.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.

When deploying to production, it is best practice to configure sessions to be stored in an external persistence service.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].