API Reference Jumar v0.1.0
View SourceModules
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.