Note: Bee Travels is a work in progress. This document will be updated to reflect any changes.
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.
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.
yarn start
Note: This will start every microservice. To exclude a microservice run
yarn start --exclude <service>
. To run a single microservicecd
into it's directory and runyarn start
or simply runyarn workspace <service> run start
.
docker-compose up --build
Bee Travels currently supports deploying to cloud using the following configurations:
- Helm
- Kubernetes
- Knative
- OpenShift
For instructions on deploying Bee Travels to cloud, check out the config repo.
The following are key components/technologies used with the Node.js version of Bee Travels:
- Package Management
- Web Framework
- Front End
- API Definition
- Image Database
- Testing
- Mocha (Test Runner)
- Chai (Assertion Library)
- Sinon (Spies & Mocks)
- Istanbul/nyc (Coverage)
- Code Quality
- ECMA Support
- CI/CD
- Logging
- Containerization
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:
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.
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.