Skip to content

littlehorse-enterprises/lh-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LittleHorse Examples

LittleHorse Logo

Welcome to LittleHorse! LittleHorse is a platform for integration, microservice orchestration, and agents all based on the open-source LittleHorse Kernel. LittleHorse allows you to:

  • Orchestrate and execute distributed processes and workflows using the LittleHorse Kernel.
  • Capture events and respond in real-time using LittleHorse Connect.
  • Secure your applications and authorize your users to complete User Tasks with Pony ID.

Getting Started

The core of our platform is the LittleHorse Kernel. Therefore, we recommend you first go through the Kernel Quickstart, located in the quickstart directory.

A reasonable order of operations to learn LittleHorse is:

  1. Start with the LittleHorse Kernel Quickstarts, whose code lives in this repo.
  2. Read the LittleHorse Kernel Concepts documentation.
  3. Go through the LittleHorse Connect Quickstart.
  4. Start exploring! Play with one of the demo's in this repository, and look at the other platform components in our documentation.

Installing LittleHorse

Install our CLI (lhctl) using homebrew:

brew install littlehorse-enterprises/lh/lhctl

The easiest way to get a LittleHorse Server running on port 2023 is to run the following command:

docker run --pull always --name lh-standalone --rm -d -p 2023:2023 -p 8080:8080  -p 9092:9092 \
  ghcr.io/littlehorse-enterprises/littlehorse/lh-standalone:latest

The development dashboard should be available at http://localhost:8080.

Repository Inventory

  • Quickstarts
  • Demos
  • Archives

Quickstarts

  • The Kernel: The LittleHorse Kernel is a workflow engine for microservices and integrations and is the core of the LittleHorse Platform.
    • java: LittleHorse Kernel Java quickstart.
    • go: LittleHorse Kernel Go quickstart.
    • c#: LittleHorse Kernel C# quickstart.
    • python: LittleHorse Kernel Python quickstart.
    • scala: LittleHorse Kernel Scala quickstart.
  • Ecosystem and Platform Components
    • Pony ID: an OIDC-compatible API and UI for executing User Tasks in the LittleHorse Kernel.
    • LittleHorse Connect: a platform for getting data into and out of LittleHorse using Apache Kafka and Apache Kafka Connect.

Demo's

The demos directory contains a few prettified LittleHorse demo applications which all demonstrate various aspects of the platform:

  • E-Commerce: an e-commerce and loyalty program application built with LittleHorse.
    • Output Topic for real-time analytics to notice when a workflow has failed.
    • Workflow Events to provide a synchronous wrapper over workflows.
    • Failure Handling to handle business edge-cases.
  • Portfolio Management: a back-office workflow for portfolio managers to triage and handle clients in the face of a stock market event.
  • Transactional Outbox: an order checkout system that demonstrates how orchestration can replace the Transactional Outbox Pattern.
  • Async Bank Transfer: a workflow which initiates a transfer, monitors it for completion, and returns once the transfer is completed.
    • Loops are used to poll
    • HTTP POST Task Workers, which are used to make requests to existing HTTP endpoints within a task.
  • Agentic Customer Support: models a customer support workflow in which an LLM agentically takes action by running a choice of multiple other workflows in LittleHorse.

Archives

The archive folder contains older demo's that are no longer maintained but were interesting enough to keep for posterity.

About

Examples of applications built using LittleHorse features in a practical setting.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 11