Skip to content
This repository has been archived by the owner on Feb 2, 2021. It is now read-only.

nodeshift-archived/nodejs-rest-http-crud-redhat

Repository files navigation

Build Status Coverage Status Greenkeeper badge

https://access.redhat.com/documentation/en-us/red_hat_build_of_node.js/

Example CRUD Application

Getting Started

Running Locally

First, install the dependencies

npm install

A Postgres DB is needed, so if you are using Docker, then you can start a postgres db easily.

docker run --name os-postgres-db -e POSTGRESQL_USER=luke -e POSTGRESQL_PASSWORD=secret -e POSTGRESQL_DATABASE=my_data -d -p 5432:5432 centos/postgresql-10-centos7

In this example, the db user is luke, the password is secret and the database is my_data

You can then start the application like this:

DB_USERNAME=luke DB_PASSWORD=secret ./bin/www

Then go to http://localhost:3000

Running on Minishift

First, make sure you have minishift setup and are logged in using oc login.

Then create a new project using the oc commands

oc new-project fun-node-fun

For this example, you will also need a postgres db running on your Minishift cluster.

oc new-app -e POSTGRESQL_USER=luke -ePOSTGRESQL_PASSWORD=secret -ePOSTGRESQL_DATABASE=my_data centos/postgresql-10-centos7 --name=my-database

Then run npm run openshift to deploy your app

Then you can navigate to the newly exposed route, something similar to "http://nodejs-rest-http-crud-redhat-boosters.192.168.99.100.nip.io/", this will probably be different based on your Minishift IP address

This app has an example of integration test using an integration test tool for Node.js apps on OpenShift

Once you started your local OpenShift instance you can check it out by running the following commands:

npm run test:integration 

It will deploy the app to local OpenShift and run the tests located on test/integration directory.

npm run test:integration:undeploy

Performs undeploy of the app inside local OpenShift.