API Reference Jumar v0.1.0

View Source

Modules

Jumar keeps the contexts that define your domain and business logic.

The Accounts context.

Every user account in the system.

Functions for delivering email notifications to users.

Schema for user based tokens. These have multiple different "contexts" depending on what they are used for. This can be for password resets, user confirmation, or email changes.

A GenStage ConsumerSupervisor implementation to consume events from Jumar.EventBus.Producer.

An event with data and metadata passed between contexts.

A GenStage implementation to produce events.

Wraps up common observability tools used for Logs, Traces, and Metrics.

A Phoenix.PubSub implementation for dispatching messages to ephemeral processes.

Additional query macros and functions for Jumar and Cockroach DB.

The main Cockroach DB Ecto.Repo instance for the application.

Restarts the Jumar.Repo database pool every 30 minutes to ensure we are connected to the closest node. When a database node shuts down, ecto will automatically reconnect to a node still standing. Once the node comes back online, ecto will not automatically reconnect. To deal with this shortcoming, this module was created.

The Jumar application supervisor that starts all required dependencies of the main Jumar application. This is separate from the Jumar.Application module to allow for easier use in third party projects, without also including web server processes.

An Elixir implementation of typeid using Jumar.Types.UUIDv7 or another Ecto UUID module. This allows using UUIDs as the database primary key, while transparently converting to a Stripe like ID (user_2x4y6z8a0b1c2d3e4f5g6h7j8k) by Ecto.

An Ecto type for UUIDv7 strings. This matches the similar Ecto.UUID module with additional awesome work done by sloanelybutsurely on the typeid-elixir package.

The JumarCli module contains custom commands that are used by mix release and the generated Docker file. This allows us to use the Elixir OptionParser for a more advanced CLI interface.

Usage: jumar

A module for CLI commands and subcommands that can be executed by the Jumar CLI. This follows a very similar pattern to Mix.Task in Elixir, but is used for the released application CLI in Jumar Docker.

Usage: jumar migrate

Usage: jumar rollback [version]

Usage: jumar seed [options]

Usage: jumar server

The entrypoint for defining your web interface, such as controllers, components, channels, and so on.

Provides core UI components.

A module providing Internationalization with a gettext-based API.

Pulls telemetry metrics from various parts of the application.

Authentication helpers for Jumar.