Knotx / knotx-example-project

Example Project contains samples of various Knot.x modules implementations and usages
https://knotx.io
Apache License 2.0
4 stars 12 forks source link

CI

Knot.x Examples

Examples show how you can customize/extend Knot.x Stack in a real project. They use Gradle to build all custom modules and prepare a distribution containing custom configurations and modules.

Topics covered in our examples:

Distribution

Within this module, you will see what Stack is and how it can be customized. It also contains details on how to use Starter Kit template project to prepare a custom project distribution.

Although we recommend to start with Starter Kit that builds Docker image, using Docker is not mandatory.

Topic Description Used technologies Tutorial Source code
Stack Basic usage of fragmentsHandler with a simple graph that uses data from external API and combines them with a static HTML provided by fsRepoConnectionHandler. Stack Getting Started with Knot.x Stack ./distribution/getting-started
Docker This module covers the same topics as above. However, it uses Docker and embeds Knot.x Stack within a Docker image. Stack, Docker, Starter Kit template project Getting Started with Docker ./distribution/getting-started

API Gateway & Web API

Knot.x is an integration framework that can be used as a simple API gateway. It can be also combined with Cloud solutions like Apigee Edge or Amazon API Gateway.

Topic Description Used technologies Tutorial Source code
OpenAPI and API Console with Swagger More advanced example of OpenAPI specification usage OpenAPI, SwaggerUI OpenAPI specification & interactive API Console ./api-gateway/api-console
Securing your API Simple usage of popular authentication technologies to secure your API. Docker, OAuth 2.0, OpenId Connect, JWT coming soon coming soon
Caching Knot.x proxies requests to target API, providing a caching capability. In-memory cache, Fragments, WireMock, Docker Caching API responses .api-gateway/caching
API composition Presents how to compose data from many services / APIs using Configurable Integrations. Fragments, WireMock, Docker Compose multiple services into a single round-trip. ./api-gateway/api-composition
GraphQL API Expose GraphQL API using Configurable Integrations. GraphQL, OpenAPI, Configurable Integrations Using GraphQL with Knot.x ./api-gateway/graphql-api

Template Processing

This module presents the aspects of template processing.

Topic Description Used technologies Tutorial Source code
Getting started Basic usage of fragmentsHandler with a simple graph that uses data from external API and combines them with a static HTML provided by fsRepoConnectionHandler Template Engine, Handlebars, Docker ./template-processing/handlebars

Debugging with Fragments Chrome Extension

This module presents the usage of [Fragments Chrome Plugin](https://github.com/Knotx/knotx-fragments-chrome-extension.

Topic Description Used technologies Tutorial Source code
Template processing scenario Basic usage of Knot.x Fragments Chrome Plugin during Task & Actions definition & external API responses investigation. Knot.x Fragments Chrome Plugin, Fragments Handler, Template Engine, Docker ./chrome-extension