bee-travels / bee-travels-node

:eye: :bee: :m:
https://developer.ibm.com
Apache License 2.0
33 stars 14 forks source link
bee-travels express microservices nodejs polyglot

Bee Travels logo

Bee Travels — Node.js Build Status

Note: Bee Travels is a work in progress. This document will be updated to reflect any changes.

Bee Travels user interface

About

Bee Travels is a polyglot microservice demo in the form of a travel agency web application. This repo is home to the Node.js version of bee travels. To see versions of Bee Travels for other languages, check out the Bee Travels GitHub org.

This application is used to demonstrate key capabilities of Kubernetes, Openshift, Istio, Knative and many other cloud native applications. It also uses best practices in the software development lifecycle and wildly used open source technologies.

Basic Usage

Setup

git clone the repo and cd into it by running the following command:

git clone https://github.com/bee-travels/bee-travels-node.git
cd bee-travels-node

This project uses Yarn 2, if you don't already have it installed, install it globally with:

npm install -g yarn

Note: You’ll need to have Node v10+ on your local development machine. You can use nvm (macOS/Linux) or nvm-windows to easily switch Node versions between different projects.

Run Bee Travels

yarn start

Note: This will start every microservice. To exclude a microservice run yarn start --exclude <service>. To run a single microservice cd into it's directory and run yarn start or simply run yarn workspace <service> run start.

(Optional) Run Bee Travels with Docker Compose

Prerequisites

docker-compose up --build

(Optional) Deploy to Cloud

Bee Travels currently supports deploying to cloud using the following configurations:

For instructions on deploying Bee Travels to cloud, check out the config repo.

Key Components/Technologies Used

The following are key components/technologies used with the Node.js version of Bee Travels:

Architecture

Bee Travels is a travel booking application that is composed of several mircoservices. Each mircoservice can be run independently, or together to form the full service. Bee Travels can be used to search and book hotels, flights and car rentals for various destinations across the world.

Note: All data is fake and only to be used for demonstration purposes.

Bee Travels is comprised of the following microservices:

Architecture Diagram

The following is a basic architecture diagram for the containerized version of Bee Travels. Depending on how you run this application, the architecture diagram will look slightly different.

architecture diagram

License

This application is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this application 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