README.md

# ExTeal

ExTeal is a beautiful administration dashboard written for Phoenix Apps. It provides a flexible and customizable interface for managing your application's data and resources.

## Features

- Easy integration with Phoenix applications
- Customizable resources and fields
- Built-in CRUD operations
- Flexible search and filtering
- Role-based access control
- Customizable dashboards and cards
- CSV import/export functionality
- Responsive design for desktop and mobile

## Installation

Add ExTeal as a dependency in your `mix.exs` file:

```elixir
  {:ex_teal, ~> 0.28}
```

# config/config.exs

config :ex_teal,
  repo: YourApp.Repo,
  manifest: YourAppWeb.ExTeal.Manifest
```

Teal scales as your business logic scales so we recommend adding a `ex_teal`
directory in the web directory of your phoenix app to store teal resources,
cards, dashboards and other files.  Start your app with an empty manifest:


```elixir
defmodule YourAppWeb.ExTeal.Manifest do
  use ExTeal.Manifest
  alias YourAppWeb.Endpoint

  def application_name, do: "Your cool app name"

  def logo_image_path, do: "#{Endpoint.url()}/images/favicon.png"

  def resources, do: []

  def plugins, do: []

  # defaults to /teal
  def path, do: "/admin"
end
```

and use your router to expose Teal to the web (guarding with appropriate
pipelines for authentication and authorization.

```elixir
  # lib/your_app_web/router.ex
  scope path: "/admin" do
    pipe_through [:browser, :authenticated]
    forward("/", ExTeal.Router, namespace: "admin")
  end
```

Visit `/admin` as an authenticated user and see all the cool :rocket: