Skip to content

ash-project/ash_admin

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
dev
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

AshAdmin

Elixir CI License: MIT Coverage Status Hex 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.7.1"}

Phoenix 1.7

If you want to use Phoenix 1.7 which has not yet been released, you'll need to use the git branch phoenix-1.7, i.e

{:ash_admin, github: "ash-project/ash_admin", branch: "phoenix-1.7"}

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.

Development

To work on ash_admin, you'll want to be able to run the dev app. You'll need to have postgres setup locally, at which point you can do the following:

  1. mix ash_postgres.create
  2. mix migrate
  3. mix migrate_tenants

Then, you can start the app with: mix dev

If you make changes to the resources, you can generate migrations with mix generate_migrations

Contributors

Ash is made possible by its excellent community!

Become a contributor