API Reference Jumar v#0.1.0
View SourceModules
Jumar keeps the contexts that define your domain and business logic.
The Accounts context.
Database schema for each individual registered user account.
Email sending functionality for user accounts.
Any cryptographicly secure token that is associated with a user. This can be for password resets, logins, email confirmations, or other activities.
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.
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.
Defines the scope of the caller to be used throughout the app.
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 a nice looking notification block.
A very basic centered page layout for authentication pages like the sign in and register pages.
Provides avatar components for displaying user profile pictures or initials.
Provides badge components.
You know, those things you click to do just about anything in a web application.
Provides core UI components.
A layout with a sidebar and navbar for authenticated pages.
Provides dialog components.
A module providing Internationalization with a gettext-based API.
Provides listbox components.
A layout with a stacked top navigation bar and footer. This is usuaully used for unauthenticated pages like the homepage or legal pages before the user accesses the dashboard.
You'll still get emails from people who accidentally deleted their account, but at least you tried.
The root HTML layout for the JumarWeb application.
Pulls telemetry metrics from various parts of the application.
Handles user authentication, session management, and "remember me" functionality.