Knowledge4retail is a set of container-based services to implement digital twins of retail environments. It includes tools and interfaces to create analytics applications and connect your data sources (erp systems, sensors). A kubernetes-based sample setup of the reference implementation is provided.
The detailed functional description of the project context can be found at https://knowledge4retail.org/
This section provides information about the most important services and their purpose. Please refer the the documentation of each service for more detailed information and instructions.
The core k4r digital twin. It provides graphql, rest and kafka interfaces to read and modify diital twins and emits notifications to the messaging bus when objects are added or changed.
Repository: Github
Documentation: Github
Charts: k4r-dt-api
A graphical composition tool for python-based analytical workflows. Provides an adapter to the digital twin to allow for easy creation of custom webservice-based analytical endpoints to your digital twins.
Repository: Github
Documentation: Github
Charts: hetida-designer
TODO - layman explanation of what knowrob has to offer
Repository: Link To Repository
Documentation: Link To Documentation
Charts: knowrob
Adapter-based webservices to connect your ERP-system to the k4r digital twin. Customize this package according to your ERP-implementation. Includes a sample-implementation for a standard SAP installation.
Repository: TODO - Link To Repository
Documentation: TODO - Link To Documentation
Charts: erp-adapter, sap-erp-adapter
Tools for using ROSPLAN-based robotics planning applications based on the data of your k4r digital twins. The package offers a web application for controlling robots and an adapter to your ROSPLAN systems.
Repository: TODO - Link To Repository
Documentation: TODO - Link To Documentation
Charts: robotics-web, robotics-planning
A browser-based user interface to visualize your digital twins in 3D and gather information about the physical environment.
Repository: Github
Documentation: Github
Charts: storeviz
Offers a dashboard to automatically show information about installed K4R Services. Also provides an overview of your digital twins including a map-based view and visualizes the current state of your digital twin data model. The application is written in a way to allow for easy extension with custom functionality.
Repository: Github
Documentation: Github
Charts: k4r-portal, k4r-portal-backend
External Rest-Interface to the distance matrix hetida workflow. Calculate distances between objects in a store and use the results for route planning and similar use-cases.
Repository: Github
Documentation: Github
Charts: k4r-distance-matrix-api
An internal service to decode rfid tags to (s)gtin. Useful when connecting scanning sensors to the k4r platform.
Repository: Github
Documentation: Github
Charts: k4r-rfid2gtin
If you require identity-based access to your k4r-services, you can use the provided configuration to get started. Please refer to the identity management documentation for detailed instructions and alternatives.
Repository: Github
Documentation: Github
Charts: keycloak, oauth2-proxy
K4R is setup to use Kafka to ingest updates and emit well-defined messages when digital twins change. If you do not want to provide your own installation, this package provides a working setup out of the box.
Repository: Github
Documentation: Github
Charts: kafka
To install the most basic installation of knowledge4retail, a kubernetes cluster is required. The helmfile-based setup routines were tested and proven on Azure Kubernetes Services, minikube and microk8s. For productive scenarios, we strongly recommend to use managed databases (postgres, mongo) and messaging (kafka).
Pick the services you want to install and configure the helm charts in the infrastructure repository accordingly. The required dependencies for the chosen services can be determined from section "Dependency Graph" or from the infrastructure helmfile. Consider which authentication and autorization method should be used.
Detailed installation instructions can be found at the github repository
After installation, get familiar with the installed services by navigating to the central user interface. A working dashboard will verify installation and functionality of the platform and allow you to discover the interfaces.
Creating your own services is as simple as providing a container image and deploying it next to the standard services. Please refer to the services documentations about how to interface with them. It is generally recommended not to interface with data stores directly but use the services application interfaces. The standard services are written with software architecture best practices in mind and most are easily extendable while ensuring upstream compatibility. However, in this case you are responsible for maintaining a workable forking flow.
Project Information
Functional Documentation
Security
Identity Management
Data And Backup