/nodejs-starter

A basic Node.js web application for IBM Cloud

Primary LanguageHTMLApache License 2.0Apache-2.0

IBM Cloud

IBM Cloud platform Apache 2

Create and deploy a basic Node.js application

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

In this sample application, you will create a basic web application using Express to serve web pages in Node.js, complete with standard best practices, including a health check and application metric monitoring.

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

Use the button above to deploy this same application to IBM Cloud. This option will create a deployment pipeline, complete with a hosted Git lab project and devops toolchain. You will have the option of deploying to either CloudFoundry or a Kubernetes cluster. 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 NodeJS 6+ 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 and /appmetrics-dash endpoints at the host.

Session Store

You may see this warning when running bx 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