# Journey v0.10.46 - API Reference

## Modules

- [Journey](Journey.md): 
This module is the entry point for the Journey library. It provides functions for creating and managing computation graphs, starting and managing executions, and retrieving values from executions.
- [Journey.Examples.CreditCardApplication](Journey.Examples.CreditCardApplication.md): This module demonstrates building a simple credit card application workflow using the Journey library.
- [Journey.Examples.CreditCardApplication.Compute](Journey.Examples.CreditCardApplication.Compute.md): This module contains the business logic for the Credit Card Approval application, things like fetching the customer's credit score, making and communication the credit decision, etc.

- [Journey.Examples.UselessMachine](Journey.Examples.UselessMachine.md): This module ([lib/journey/examples/useless_machine.ex](https://github.com/shipworthy/journey/blob/main/lib/journey/examples/useless_machine.ex)) contains an example of building a Useless Machine using Journey.
- [Journey.Insights.FlowAnalytics](Journey.Insights.FlowAnalytics.md): Provides system-wide aggregate data about the state of the executions of a particular graph.
This can be thought of as "analytics" for a particular graph.

- [Journey.Insights.Status](Journey.Insights.Status.md): Provides system health and monitoring insights for Journey executions.

- [Journey.Node](Journey.Node.md): This module contains functions for creating nodes in a graph.
Nodes in a graph can be of several types:
* `input/1` – a node that takes input from the user.
* `compute/4` – a node that computes a value based on its upstream nodes.
* `mutate/4` – a node that mutates the value of another node.
* `historian/3` – a node that tracks the history of changes to another node.
* `tick_once/3` – a node that, once unblocked, in its turn, unblocks others, on a schedule.
* `tick_recurring/3` – a node that, once unblocked, in its turn, unblocks others, on a schedule, time after time.

- [Journey.Node.Conditions](Journey.Node.Conditions.md): This module contains helper functions for use when defining upstream dependencies for `compute` modules.

- [Journey.Node.UpstreamDependencies](Journey.Node.UpstreamDependencies.md)
- [Journey.Scheduler.Background.Periodic](Journey.Scheduler.Background.Periodic.md): Background periodic sweeper that runs all Journey sweeps at a regular interval.
- [Journey.Scheduler.Heartbeat](Journey.Scheduler.Heartbeat.md): Sends periodic heartbeat updates for a running computation.
- [Journey.Tools](Journey.Tools.md): This module contains utility functions for the Journey library.

