Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/knotx/knotx-example-project
Example Project contains samples of various Knot.x modules implementations and usages
https://github.com/knotx/knotx-example-project
Last synced: about 2 months ago
JSON representation
Example Project contains samples of various Knot.x modules implementations and usages
- Host: GitHub
- URL: https://github.com/knotx/knotx-example-project
- Owner: Knotx
- License: apache-2.0
- Created: 2018-04-16T20:39:54.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-03-22T19:40:06.000Z (10 months ago)
- Last Synced: 2024-03-23T19:42:47.435Z (10 months ago)
- Language: Java
- Homepage: https://knotx.io
- Size: 768 KB
- Stars: 4
- Watchers: 11
- Forks: 12
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[![CI](https://github.com/Knotx/knotx-example-project/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/Knotx/knotx-example-project/actions/workflows/ci.yaml)
# Knot.x Examples
Examples show how you can customize/extend [Knot.x Stack](https://github.com/Knotx/knotx-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](https://github.com/Knotx/knotx-stack) is and how it can be customized.
It also contains details on how to use [Starter Kit](https://github.com/Knotx/knotx-starter-kit)
template project to prepare a custom project distribution.Although we recommend to start with [Starter Kit](https://github.com/Knotx/knotx-starter-kit) that
builds Docker image, using Docker is not mandatory.|Topic|Description|Used technologies|Tutorial|Source code|
|-----|-----------|-----------------|--------|-----------|
|Stack|Basic usage of [fragmentsHandler](https://github.com/Knotx/knotx-fragments/tree/master/handler) with a simple graph that uses data from external API and combines them with a static HTML provided by [fsRepoConnectionHandler](https://github.com/Knotx/knotx-repository-connector/tree/master/fs). |[Stack](https://github.com/Knotx/knotx-stack)|[Getting Started with Knot.x Stack](http://knotx.io/tutorials/getting-started-with-knotx-stack/2_0/)| `./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](https://github.com/Knotx/knotx-stack), [Docker](https://github.com/Knotx/knotx-docker), [Starter Kit](https://github.com/Knotx/knotx-starter-kit) template project |[Getting Started with Docker](http://knotx.io/tutorials/getting-started-with-docker/2_0/)| `./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](https://docs.apigee.com/api-platform/get-started/what-apigee-edge)
or [Amazon API Gateway](https://aws.amazon.com/api-gateway/).|Topic|Description|Used technologies|Tutorial|Source code|
|-----|-----------|-----------------|--------|-----------|
|OpenAPI and API Console with Swagger|More advanced example of OpenAPI specification usage|[OpenAPI](https://swagger.io/docs/specification/about/), [SwaggerUI](https://swagger.io/tools/swagger-ui/)|[OpenAPI specification & interactive API Console](https://knotx.io/tutorials/openapi-and-swagger-ui/2_0/)|`./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](https://github.com/Knotx/knotx-fragments/tree/master/handler), [WireMock](http://wiremock.org/), Docker|[Caching API responses](http://knotx.io/tutorials/api-gateway-caching/2_0/)|`.api-gateway/caching`|
|API composition|Presents how to compose data from many services / APIs using [Configurable Integrations](https://knotx.io/blog/configurable-integrations/).|[Fragments](https://github.com/Knotx/knotx-fragments/tree/master/handler), [WireMock](http://wiremock.org/), Docker|[Compose multiple services into a single round-trip.](https://knotx.io/tutorials/api-gateway-api-composition/2_0/)|`./api-gateway/api-composition`|
|GraphQL API|Expose GraphQL API using Configurable Integrations.|GraphQL, OpenAPI, Configurable Integrations|[Using GraphQL with Knot.x](https://knotx.io/tutorials/graphql-with-knotx/2_0/)|`./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](https://github.com/Knotx/knotx-fragments/tree/master/handler) with a simple graph that uses data from external API and combines them with a static HTML provided by [fsRepoConnectionHandler](https://github.com/Knotx/knotx-repository-connector/tree/master/fs) | [Template Engine](https://github.com/Knotx/knotx-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](https://github.com/Knotx/knotx-fragments-chrome-extension) during Task & Actions definition & external API responses investigation. | [Knot.x Fragments Chrome Plugin](https://github.com/Knotx/knotx-fragments-chrome-extension), [Fragments Handler](https://github.com/Knotx/knotx-fragments), [Template Engine](https://github.com/Knotx/knotx-template-engine), Docker| |`./chrome-extension`|[license]:https://github.com/Cognifide/knotx/blob/master/LICENSE
[license img]:https://img.shields.io/badge/License-Apache%202.0-blue.svg[gitter]:https://gitter.im/Knotx/Lobby
[gitter img]:https://badges.gitter.im/Knotx/knotx-extensions.svg