/refarch-kc

Implementation solution for container shipment using Event-Driven Architecture

Primary LanguagePythonApache License 2.0Apache-2.0

Reefer Container Shipment solution - EDA reference implementation

The IBM Event Driven architecture reference implementation solution illustrates the deployment of real time analytics on event streams in the context of container shipment in an event driven architecture with event backbone, functions as service and evnt-driven microservices, and aims to illustrate the different event driven patterns like event sourcing, CQRS and Saga. There is a lot of content, so consider this to be a living book, for better reading experience go to the book view.

TL;TR

If you want to just get the code, build and run we propose running locally with Minikube or Docker-compose.

To build and run the solution locally we are delivering some scripts which should help you to quickly get the solution cloned, built and deployed. Those bash scripts are under the scripts folder of this project.

git clone https://github.com/ibm-cloud-architecture/refarch-kc.git
cd refarch
./scripts/clone.sh
  • To assess your environment and build the docker images needed for build:
./scripts/prepareEnv

For docker-compose we recommend reading this note for Minikube this separate note

Building this booklet locally

The content of this repository is written with markdown files, packaged with MkDocs and can be built into a book-readable format by MkDocs build processes.

  1. Install MkDocs locally following the official documentation instructions.
  2. Install Material plugin for mkdocs: pip install mkdocs-material
  3. git clone https://github.com/ibm-cloud-architecture/refarch-kc.git (or your forked repository if you plan to edit)
  4. cd refarch-kc
  5. mkdocs serve
  6. Go to http://127.0.0.1:8000/ in your browser.

Building this booklet locally but with docker

In some cases you might not want to alter your Python setup and rather go with a docker image instead. This requires docker is running locally on your computer though.

Pushing the book to GitHub Pages

  1. Ensure that all your local changes to the master branch have been committed and pushed to the remote repository.
    1. git push origin master
  2. Ensure that you have the latest commits to the gh-pages branch, so you can get others' updates.
    git checkout gh-pages
    git pull origin gh-pages
    
    git checkout master
  3. Run mkdocs gh-deploy from the root refarch-kc directory.

Contribute

As this implementation solution is part of the Event Driven architeture reference architecture, the contribution policies apply the same way here.

Contributors:

Please contact me for any questions.