tfwright/live_admin
53.9
Adequate · 18 September 2026
4.2k
lines of production code
Elixir
with JavaScript
1
measurement over time
What this system is
LiveAdmin is a configurable admin interface library for Phoenix applications, built on Phoenix LiveView and Ecto. It provides a comprehensive UI for managing database resources, supporting features such as custom actions, background job progress tracking, and internationalization. The system includes a modern, component-based frontend with capabilities for batch operations, drag-and-drop sorting, and persistent session state.
How it got here
2022 — Initial release and UI redesign
17 changes.
This period marks the initial release of LiveAdmin, establishing the core library, Dockerized development environment, and CI infrastructure. It involved a comprehensive redesign of the admin interface, introducing a modular component architecture, modern CSS styling, and enhanced JavaScript interactions for resource management.
2023–2026 — Admin UI overhaul and session persistence
8 changes.
This period focused on redesigning the admin interface with a collapsible sidebar, sticky navigation, and real-time background job tracking. It also introduced configurable session persistence to preserve UI state across restarts and expanded internationalization support with Turkish translations.
Features
Add development database schema with multi-schema support
The development environment now includes a structured SQL initialization script that defines core tables for users, user profiles, and posts, along with security settings. A key addition is the creation of an 'alt' schema containing identical table structures, enabling testing of multi-schema database configurations and prefix-based repository access within the development setup.
dev/initdb · high confidence
Added Turkish (tr) translations for UI strings
Users can now see the application interface in Turkish. A new translation file (default.po) was added for the Turkish locale, providing translations for common UI elements such as navigation labels (Home, New, Prev, Next), form fields (Name, Email, Birth date), and status indicators (Active, Yes, No).
dev/gettext · high confidence
Background job progress tracking in admin navigation
The admin navigation now displays real-time progress for active background jobs. A new \LiveAdmin.Components.Nav.Jobs\ component subscribes to PubSub events to monitor job status, showing a progress bar with percentage completion for each running task. This component is integrated into the navigation wrapper via a sticky LiveView, ensuring the job status remains visible and persistent as users navigate between different sections of the admin interface.
_lib/live\admin/components/nav · high confidence
Configurable session persistence via new Store behaviour
LiveAdmin now supports configurable session storage to allow UI state (such as page size and sorting) to persist across server restarts. A new \LiveAdmin.Session.Store\ behaviour defines the interface for session management, and the default implementation (\LiveAdmin.Session.Agent\) uses an in-memory Agent, which is ephemeral. Users can now implement a custom store (e.g., using a database or cache) and configure it via the \:session\_store\ application config to ensure session data survives application restarts.
_lib/live\admin/session · high confidence
Initial release of LiveAdmin with Dockerized dev environment and CI
This change introduces the initial version of LiveAdmin, an admin UI for Phoenix applications built on Phoenix LiveView and Ecto. It establishes the project structure with a Docker Compose setup for local development (including a Postgres database and health checks), a Dockerfile for containerization, and GitHub Actions CI. The package includes a generated README detailing installation, configuration options (such as multi-tenancy, custom actions, and i18n), and features like persistent sessions and overridable views. Additionally, it sets up code quality tools like Credo with custom checks and configures the Elixir formatter for HEEx templates.
(repo-wide) · high confidence
Initial release of LiveAdmin with configurable resource management
This change introduces the LiveAdmin library, replacing the previous PhoenixLiveAdmin module. It provides a configurable admin interface for Phoenix applications, allowing users to define resources with custom behaviors for querying, rendering, creating, updating, and deleting records. The library includes a robust configuration schema validated at compile time via NimbleOptions, supporting overrides for UI components, custom field labels, hidden/immutable fields, and custom actions/tasks. It also sets up necessary supervision trees for session management, PubSub, and task supervision.
lib · high confidence
New Array and Search Select form input components
The resource form now includes two new input types: an Array Input for managing lists of string values with add/remove functionality, and a Search Select for filtering and selecting options from a dynamic list. These components replace previous implementations, introducing features like debounced search, custom option loading via module/function tuples, and improved UX for collection fields.
_lib/live\admin/components/resource/form · high confidence
New default home page content component
A new default home page content component has been added to the library, providing a standard dashboard view with a welcome message and a sponsor button. This component serves as the fallback rendering for the home view, allowing users to override it by specifying a custom module in the :home components option.
_lib/live\admin/components/home · high confidence
New demo application scaffolding in the dev directory
The dev directory now contains a complete, self-contained demo application (LiveAdmin Dev) to showcase the library's capabilities. This includes Ecto schemas for Users and Posts, a LiveComponent-based user creation form, and resource definitions that demonstrate custom actions (activate/deactivate, set password), background tasks (regenerate passwords with progress tracking), and custom rendering. It also provides a populator for generating test data and a README compiler, serving as a concrete reference implementation for developers.
dev · high confidence
New session content component with i18n and metadata editing
A new LiveComponent (\LiveAdmin.Components.Session.Content\) has been introduced to render the session editing interface. This component supports internationalization via the \trans/1\ helper and allows administrators to edit session metadata and index page size through a form. It includes validation logic for metadata parameters and displays a success toast notification upon saving changes.
_lib/live\admin/components/session · high confidence
Behavioural changes
Initial configuration for Live Admin application
The application now includes a base configuration file (config/config.exs) that sets up core dependencies and behaviors. This includes configuring Phoenix to use the Jason JSON library and setting the stacktrace depth to 20. Logging is configured to output warnings and above in a simple console format. The 'docout' tool is configured to generate documentation for the 'live\_admin' app using the LiveAdmin.READMECompiler. Additionally, Phoenix Live View is configured to colocate JavaScript assets into the specified node\_modules directory.
config · high confidence
Introduce esbuild-based asset pipeline with configurable latency simulation
The assets directory now uses esbuild to bundle JavaScript, replacing the previous build process. This new pipeline supports watch and release modes, generates external source maps in development, and allows the latency simulation feature to be configured via the LATENCY\_SIM environment variable at build time. Additionally, PostCSS is configured to process CSS using postcss-import, autoprefixer, and cssnano.
assets · high confidence
LiveAdmin v0.18 introduces embed support, i18n, and a redesigned UI architecture
This release upgrades LiveAdmin to version 0.18, bringing a comprehensive redesign of the user interface and backend architecture. Users can now manage Ecto embedded schemas directly through the admin UI, with support for creating, deleting, and sorting embedded records via a new drag-and-drop interface. The system adds internationalization (i18n) support using Gettext, allowing labels and messages to be translated. The router and session handling have been restructured to support arbitrary session metadata, configurable index page sizes, and batch selection on list views. Additionally, the UI now includes a new dropdown component, modal support, and improved navigation that preserves sidebar state across routes.
_lib/live\admin · high confidence
Redesign of the admin interface and interaction model
The JavaScript entry point has been completely rewritten to support a comprehensive UI redesign. This includes new LiveView hooks for managing tabbed navigation states in show views, drag-and-drop reordering of embed sections within forms, and client-side clipboard copying for index cells. The application now initializes with a visual topbar loading indicator and integrates Phoenix Colocated hooks, shifting the interaction model from previous implementations to a more dynamic, component-driven approach.
assets/js · high confidence
Redesigned UI with modular CSS architecture
The application's visual interface has been completely redesigned, replacing the previous monolithic stylesheet with a modular, organized structure. The new design features a collapsible sidebar navigation, a fixed header, and updated styling for tables (including sticky headers and batch selection), forms, buttons, and modals. A new alert system (toast notifications) has been introduced to replace the previous flash messages, and the color palette has been standardized using CSS variables for consistent theming across components like cards, tabs, and switches.
assets/css · high confidence
Redesigned admin interface with new component architecture
The admin interface has been redesigned, introducing new core components including AlertBar for toast-style notifications, a restructured Container for managing page layouts and state, a revamped Nav component with nested resource grouping and extra page support, and a dedicated Session component for user configuration. This change replaces the previous UI implementation with a more modular, Phoenix-native structure that supports custom component overrides and improved navigation handling.
_lib/live\admin/components · high confidence
Redesigned admin interface with new purple theme and layout
The admin UI has been completely redesigned, introducing a new purple-based color palette and a modernized layout. Key changes include a collapsible sidebar for navigation, sticky table headers for improved data browsing, and updated styles for forms, buttons, and alerts. The visual overhaul also affects components like pagination, search inputs, and status badges, providing a more cohesive and contemporary user experience.
dist/css · high confidence
Redesigned admin layout with collapsible sidebar and sticky navigation
The admin interface layout has been redesigned to include a collapsible sidebar that preserves its state across navigation via a sticky LiveView wrapper. The new structure features a header with configurable title, prefix selection, and locale switching, alongside a main content area. This change updates the visual presentation and interaction model of the admin panel, allowing users to toggle the sidebar visibility while maintaining context during navigation.
_lib/live\admin/components/layout · high confidence
Redesigned resource management UI with async indexing and batch actions
The resource view components (index, show, and form) have been completely rewritten to provide a modernized interface. The index page now loads records asynchronously, supports batch selection with bulk delete and action execution, and includes a persistent search bar with debounced input. The form component features a grid layout for fields, a cancel link, and improved validation feedback. The show view displays record details with tabs for embedded resources and includes direct links to associated records. These changes replace the previous implementation with a more robust and user-friendly experience for managing resources.
_lib/live\admin/components/resource · high confidence
Redistributed frontend assets with new clipboard functionality
The JavaScript bundle in dist/js has been rebuilt, introducing a new dependency on the ClipboardJS library to support copy and cut actions within the interface. This change reflects the underlying codebase updates, including the adoption of esbuild 0.25.0 for bundling and various UI refinements such as improved table navigation, embed sorting, and flash message handling, resulting in a more responsive and feature-rich user experience.
dist/js · medium confidence
Test coverage
Added integration tests for LiveAdmin configuration and resource handling; Added integration tests for admin container and session components; Added test support resources for custom forms, actions, and types; Added tests for LiveAdmin router configuration validation.
Dependencies
Upgrade to Phoenix 1.8 and LiveView 1.1 with Elixir 1.15 requirement
The application has been upgraded to require Elixir 1.15 and updated its core dependencies to Phoenix 1.8, Phoenix LiveView 1.1, Phoenix HTML 4.0, and Phoenix HTML Helpers 1.0. This change also introduces Ecto 3.12 and Phoenix Ecto 4.4, while adding dev-only tooling such as Credo, Dialyxir, and ExDoc. On the frontend, the asset build tooling has been updated to use esbuild 0.25.0 and postcss 8.4.31, ensuring compatibility with the latest Phoenix and LiveView releases.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 54.
Lenses
- Code Health 98
- Architecture 100
- Maturity 59
- Readiness 46
- Security 78
- Accessibility 46
Changes since last survey
- 300 commits — 198 feature/other, 102 fixes
By area
- lib/live_admin — 105 commits
- (root) — 92 commits
- (repo) — 32 commits
- assets/css — 30 commits
- assets/js — 9 commits
- lib/live_admin.ex — 7 commits
- .github/workflows — 6 commits
- test/live_admin — 4 commits
- dist/css — 3 commits
- dist/js — 3 commits
- assets/esbuild.js — 2 commits
- assets/package-lock.json — 2 commits
- .github/ISSUE_TEMPLATE — 1 commit
- config/config.exs — 1 commit
- dev/initdb — 1 commit
- dev/user_admin.ex — 1 commit
- lib/application.ex — 1 commit
Notable commits
- fix: Add active state to non-resource nav links and fix nav styling
- fix: Another README fix
- fix: Fix 0 record list count
- fix: Fix CI
- fix: Fix CI status badge
- fix: Fix CI to run tests on host with matrix versions (#135)
- fix: Fix CUD disable
- fix: Fix README development section
- fix: Fix README gettext link
- fix: Fix README version
- fix: Fix action control args
- fix: Fix action form label alignment with inputs
- fix: Fix actions hook
- fix: Fix actions hook
- fix: Fix array input
- fix: Fix array input CSS
- fix: Fix array input erroneous clearing
- fix: Fix banner layout md display
- fix: Fix cell copy
- fix: Fix code reloader warning
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
tfwright/live_admin was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 18 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 7da6f2be8c37495d52f9cd673d23494aa896be07 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-5d04157a340d.