Skip to content
CAI
Software that uses CAICheck a score

gurujada/live_table

60.8

Adequate · 18 September 2026

3.3k

lines of production code

Elixir

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

LiveTable is a Phoenix LiveView component library designed for building dynamic, interactive data tables with features like sorting, filtering, pagination, and CSV/PDF exports. The system provides developer tooling, including Igniter-based installation and scaffolding tasks, to streamline integration into Phoenix applications. It supports complex data operations through specialized filter types and background workers, while maintaining a clean, modular architecture separate from standard web scaffolding.

How it got here

2024 — Rebranding to LiveTable and dependency upgrade

10 changes.

The project was rebranded from AdminTable to LiveTable, involving a comprehensive rename of the library, application, and configuration structures. This period also included upgrading core dependencies to Phoenix LiveView 1.2 and Ecto 3.13, while removing legacy Phoenix scaffolding and resetting the database schema to support a product catalog system.

2025–2026 — LiveTable restructuring and developer tooling

7 changes.

The LiveTable library underwent a comprehensive structural reorganization, introducing dedicated modules for filtering, exporting, and query handling alongside new Mix tasks for automated installation and scaffolding. This period focused on enhancing developer experience through Igniter-based setup tools and robust test coverage, while refining core behaviors such as export limits and multi-column sorting.

Features

Add Igniter-based LiveTable installation and scaffolding tasks

Developers can now use \mix live\_table.install\ to automatically configure LiveTable settings (including optional Oban integration for exports) and \mix live\_table.gen.live\ to scaffold LiveView files with LiveTable integration. These tasks require the Igniter dependency and streamline setup by generating code, updating configurations, and providing next-step instructions, replacing manual wiring for new projects.

lib/mix · high confidence

Add LiveTable and Filters cheatsheets

New documentation cheatsheets have been added for the LiveTable library, providing quick-reference guides for setup, configuration, and usage. The LiveTable cheatsheet covers installation, LiveView integration, field definitions (including custom renderers and computed fields), table options (pagination, sorting, exports, search, and card mode), and action definitions. The Filters cheatsheet details the available filter types—Boolean, Range, Select, and Transformer—along with their specific options, usage examples, and support for filtering on non-ID fields.

cheatsheets · high confidence

Removals

Removal of core Phoenix web infrastructure modules

The \endpoint.ex\, \router.ex\, \gettext.ex\, and \telemetry.ex\ modules within the \lib/admin\_table\_web\ directory have been deleted. This removes the application's HTTP server configuration, route definitions, internationalization support, and telemetry metrics setup, effectively stripping the web layer from this location.

_lib/admin\_table\web · high confidence

Removal of default Phoenix UI components and layouts

The default core UI components (modals, flash notices, simple forms) and application layouts (app and root HTML templates) provided by the Phoenix framework scaffold have been removed from the \lib/admin\_table\_web/components\ directory. This change eliminates the pre-built, Tailwind-styled UI building blocks and standard page structure, requiring the application to define its own custom components and layouts for rendering.

_lib/admin\_table\web/components · high confidence

Removal of default Phoenix starter templates and controllers

The default Phoenix application scaffolding has been removed from the codebase. Specifically, the \ErrorHTML\, \ErrorJSON\, \PageController\, and \PageHTML\ modules, along with the \home.html.heex\ template, have been deleted. This means the application no longer serves the default Phoenix welcome page or handles standard HTML/JSON error rendering out-of-the-box; users will need to provide their own implementations for these web endpoints.

_lib/admin\_table\web/controllers · high confidence

Behavioural changes

Database schema reset and removal of legacy assets

The application's database structure has been replaced with a new schema for a product catalog system, introducing tables for categories, suppliers, products, and images, along with a many-to-many relationship table for products and suppliers. This change is accompanied by the deletion of the previous database seed script, the removal of default Gettext error message templates, and the elimination of static assets including the site logo and robots.txt file.

priv · high confidence

Library renamed from AdminTable to LiveTable

The library has been renamed from AdminTable to LiveTable, reflecting its broader purpose as a Phoenix LiveView component library for building dynamic, interactive data tables with sorting, filtering, pagination, and exports. The previous AdminTable module and its associated application, mailer, and web interface files have been removed, and a new LiveTable module has been introduced to serve as the main entry point for the library.

lib · high confidence

LiveTable library restructured with new filter, export, and query components

The \lib/live\_table\ directory has been completely restructured, introducing a comprehensive set of new modules that define the library's core capabilities. Users can now leverage specialized filter types including \Boolean\, \Range\, and \Select\ for granular data filtering, alongside a \Transformer\ module for complex query modifications. The library now supports CSV and PDF exports via dedicated generators and background workers (\CsvExportWorker\, \PdfExportWorker\), and includes a \Debug\ module for inspecting generated Ecto queries in development. Additionally, the application supervision tree and repository have been migrated from the \AdminTable\ namespace to \LiveTable\, and the environment check logic in \TestApplication\ has been updated to use \Application.get\_env\ for more robust configuration handling.

_lib/live\table · high confidence

Migration from AdminTable to LiveTable application configuration

The project configuration has been migrated from the \:admin\_table\ application to \:live\_table\. This involves renaming the application atom, updating the Ecto repository to \LiveTable.Repo\, and replacing the previous Phoenix endpoint configuration with a dedicated \LiveTable.TestEndpoint\ for testing. Environment-specific settings for development, production, and testing have been updated to reflect these new application names and repository structures, effectively completing the transition from the legacy \admin\_table\ setup to the new \live\_table\ framework.

config · high confidence

Refactored LiveTable helper modules for sorting, filtering, and exporting

The \lib/live\_table/helpers\ directory has been reorganized into distinct modules (\SortHelpers\, \FilterHelpers\, \ExportHelpers\, \ParseHelpers\, \LiveSelectHelpers\, and \LiveViewHelpers\) to improve code coherence. This change introduces specific behavioral updates: CSV and PDF exports now enforce a 10,000-record limit with an error flash if exceeded, LiveSelect filter values are properly restored from URL parameters on initial load, and column sorting now supports multi-column sorting via the Shift key.

_lib/live\table/helpers · high confidence

Removed legacy Phoenix assets scaffolding

The default Phoenix application scaffolding files have been removed from the assets directory. This includes the main CSS entry point (app.css) which imported Tailwind CSS, the JavaScript entry point (app.js) which configured Phoenix LiveView sockets and the topbar loading indicator, the Tailwind configuration file (tailwind.config.js), and the vendor topbar script. These changes indicate a migration away from the standard Phoenix asset pipeline setup, likely to a different build system or a cleaner slate for the project's frontend.

assets · high confidence

Test coverage

Added comprehensive test coverage for LiveTable components; Added test support infrastructure and fixtures; Added test support schemas for catalog entities; Added tests for LiveTable Mix tasks; Updated test helper to use LiveTable application and repo.

Dependencies

Upgrade to LiveTable 0.4.2 with Phoenix LiveView 1.2 and Ecto 3.13

The LiveTable library has been updated to version 0.4.2, requiring Elixir 1.20 and upgrading core dependencies to Phoenix LiveView 1.2, Phoenix HTML 4.3, and Ecto 3.13. This release also introduces optional support for Igniter 0.7 and Sutra UI 0.4.0, while removing the bundled OTP application configuration and replacing the previous Heroicons dependency with Lucide Icons. The project structure has been cleaned up to remove asset compilation aliases and the \phoenix\_ecto\ dependency, now relying directly on Ecto and Postgrex.

(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 61.

Lenses

  • Code Health 99
  • Architecture 99
  • Maturity 61
  • Readiness 41
  • Security 93

Changes since last survey

  • 117 commits — 100 feature/other, 17 fixes

By area

  • lib/live_table — 39 commits
  • (root) — 18 commits
  • lib/admin_table_web — 15 commits
  • demo/lib — 10 commits
  • (repo) — 7 commits
  • lib/admin_table — 7 commits
  • demo/assets — 3 commits
  • priv/repo — 3 commits
  • test/live_table — 3 commits
  • assets/js — 2 commits
  • demo/rel — 2 commits
  • docs/generators — 2 commits
  • priv/static — 2 commits
  • demo/.dockerignore — 1 commit
  • demo/Dockerfile — 1 commit
  • docs/skill — 1 commit
  • test/support — 1 commit

Notable commits

  • fix: Add livetable skill + fix compiler warnings
  • fix: Export TableHooks and fix LiveResource insertion
  • fix: Fix empty state centering in table component
  • fix: Fix empty state centering in table component (#10)
  • fix: Fix filter by assoc field
  • fix: Fix streamed card container
  • fix: Migrate to Sutra UI components and fix filter layout
  • fix: Update docs to be coherent with implementation & bug fixes.
  • fix: Updated docs. Fixed range slider.
  • fix: bug fixes and tests
  • fix: csv-bug fix
  • fix: dark mode, UI, bug fixes
  • fix: docs update and bug fixes
  • fix: fix: correct SQL syntax on limit
  • fix: fix: use Application.get_env instead of Mix.env in production
  • fix: fixed pagination, validated url params, bug fixes
  • fix: working js hooks and fix css import
  • change: Add AI/LLM usage guidelines and integration docs
  • change: Add DaisyUI class shims and unify table component styling
  • change: Add FilterToggle functionality and enhance UI components
  • …and 97 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

gurujada/live_table 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 8c21301a04eac2f2f3a65d632a627c3775c93daf — 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.