AshAdmin

Elixir CILicense: MITCoverage StatusHex version badge

An admin UI for Ash resources. Built with Phoenix LiveView.

Demo

https://www.youtube.com/watch?v=aFMLz3cpQ8c

Usage

First, ensure you've added ash_admin to your mix.exs file.

{:ash_admin, "~> 0.4.4"}

Setup

Ensure your apis are configured in config.exs

config :my_app, ash_apis: [MyApp.Foo, MyApp.Bar]

Add the admin extension to each api you want to show in the admin dashboard, and configure it to show

use Ash.Api,
extensions: [AshAdmin.Api]
admin do
show? true
end

Modify your router to add ash admin at whatever path you'd like to serve it at.

defmodule MyAppWeb.Router do
use Phoenix.Router
import AshAdmin.Router
# AshAdmin requires a Phoenix LiveView `:browser` pipeline
# If you DO NOT have a `:browser` pipeline already, then AshAdmin has a `:browser` pipeline
# Most applications will not need this:
admin_browser_pipeline :browser
scope "/" do
# Pipe it through your browser pipeline
pipe_through [:browser]
ash_admin "/admin"
end
end

Now start your project (usually by running mix phx.server in a terminal) and visit /admin in your browser (or whatever path you gave to ash_admin in your router).

Configuration

See the documentation in AshAdmin.Resource and AshAdmin.Api for information on the available configuration.