aesmail/kaffy
48.7
Weak · 23 September 2026
2.9k
lines of production code
Elixir
primary language
5
measurements over time
What this system is
Kaffy is an Elixir/Phoenix-based admin panel generator that provides a customizable user interface for managing database resources. It features a dynamic dashboard with various widget types, in-memory caching, and scheduled background tasks. The system supports full CRUD operations with pagination, filtering, and form validation, all wrapped in a modern, responsive UI built on the sb-admin framework.
Features
Add chart, dashboard, and UI helper scripts
Added new JavaScript modules to the static assets: chart.js provides ChartJS configurations for line, doughnut, and area charts; dashboard.js handles editor initialization, filter submission, search, and per-column ordering; file-upload.js manages file input styling; hoverable-collapse.js manages sidebar hover states; misc.js initializes flatpickr date/time pickers and fullscreen mode; off-canvas.js handles sidebar toggling; phoenix\_html.js enables POST/PUT/DELETE via link clicks; select-all-checkbox.js implements bulk selection logic.
priv/static/assets/js · high confidence
Add in-memory caching layer for Kaffy
A new in-memory cache implementation has been added to Kaffy, consisting of a GenServer client and an ETS-based table for storing and retrieving cached values with expiration support. This introduces a new caching mechanism that stores data in memory using Erlang's ETS tables, allowing for faster access to cached data before falling back to database queries.
lib/kaffy/cache · medium confidence
Adds comprehensive SCSS styles for dashboard, layout, and UI components
Introduces new SCSS files to define the visual styling for the dashboard, sidebar, navbar, footer, and various UI components like badges, buttons, cards, and forms. This includes layout wrappers, typography, and utility classes, establishing the visual foundation for the application's interface.
priv/static/assets/scss · high confidence
Introduce custom pages and refactored controllers
The update introduces a new PageController to support custom pages, allowing users to define and render arbitrary content via slugs. The existing HomeController and ResourceController have been refactored to use a new Phoenix controller format (formats: \[html: "View"\]), and the ResourceController now passes the connection (conn) to utility functions, improving how resources are fetched and rendered. Additionally, the dashboard view is now rendered with a specific layout and context, and the resource index/show actions now include pagination details and action availability flags (can\_edit, can\_delete) to control UI elements.
_lib/kaffy\web/controllers · high confidence
Introduces scheduled tasks, pagination, and resource callbacks
Adds support for scheduled background tasks via new Kaffy.Scheduler modules (Task, Supervisor, and Tasks) and a corresponding /tasks route. Introduces Kaffy.Pagination for generating page number lists and Kaffy.ResourceCallbacks to handle create, update, and delete lifecycle hooks (before/after insert, update, delete, and save). Adds Kaffy.Inflector for pluralizing resource names and Kaffy.ResourceError for rendering form validation errors. The application now starts a Kaffy.Supervisor to manage these new processes.
lib/kaffy · high confidence
Redesigned home dashboard with new widget types
The home page now renders a dynamic grid of widgets including text, chart, progress, and tidbit components, replacing the previous static welcome message. Each widget type has a dedicated template (\_text, \_chart, \_progress, \_tidbit) that allows for flexible content and styling, enabling users to customize their dashboard with various data visualizations and informational cards.
_lib/kaffy\web/templates/home · medium confidence
Behavioural changes
Major UI overhaul and new dashboard support
The resource index page has been redesigned with a card-based layout, a new header with record counts, and a refined pagination bar. A new dashboard template has been added to display widgets (text, chart, progress, and tidbit types) for each context. The resource picker template now includes a search field and pagination controls. Additionally, the show and new templates have been updated to use the new card-based design, and the list table now supports per-column ordering and field filters.
_lib/kaffy\web/templates/resource · medium confidence
Major UI overhaul with new layout templates and asset integration
The Kaffy admin interface has been significantly redesigned with new layout templates (app, bare, root, and backup) that integrate the sb-admin 5.1.1 framework, FontAwesome icons, and custom logo support. The main app template now includes a fixed-top navbar with full and mini logo support, a sticky sidebar for navigation, and a main content area that renders flash messages and inner content. This change replaces the previous Bootstrap-based layout with a more modern, feature-rich UI that supports custom CSS/JS extensions and improves the overall visual consistency of the admin panel.
_lib/kaffy\web/templates/layout · high confidence
Updated Phoenix configuration syntax
The configuration file has been updated to use the modern \import Config\ syntax instead of the deprecated \use Mix.Config\. This change aligns the project with current Elixir/Phoenix standards, ensuring compatibility with newer versions of the framework and removing reliance on legacy configuration patterns.
config · high confidence
Updated view modules to support Phoenix 1.7 and remove deprecated dependencies
The view modules in lib/kaffy\_web/views have been updated to remove the deprecated Phoenix.HTML dependency, replacing it with PhoenixHTMLHelpers. Additionally, the LayoutView was modified to conditionally handle flash messages using Phoenix.Flash for Phoenix 1.7+, ensuring compatibility with newer Phoenix versions while maintaining support for older releases.
_lib/kaffy\web/views · medium confidence
Fixes
Improved styling for alerts, tables, and form controls
The Kaffy CSS has been updated to enhance the visual presentation of several UI components. Alert boxes now feature improved padding, hover effects, and distinct color schemes for each alert type. Table headers and striped rows have updated colors and backgrounds. Form controls, including the datetime picker and custom selects, have adjusted padding, borders, and heights for better usability. Additionally, sidebar navigation and button styles have been refined for consistency.
priv/static/assets/css · medium confidence
Test coverage
Added comprehensive test coverage for Kaffy core components; Added tests for resource form rendering.
Dependencies
Updated Chart.js to v2.9.3
The Chart.js library in the vendors directory has been updated to version 2.9.3. This update replaces the previous version with a new minified JavaScript file containing the latest features and fixes from the Chart.js project.
priv/static/assets/vendors · high confidence
Upgrade to Phoenix 1.7/1.8 and Elixir 1.12+ with modern dependencies
The Kaffy package now requires Elixir 1.12+ and supports Phoenix 1.7.21 or 1.8.0, moving away from older versions. This update upgrades core dependencies including Phoenix HTML to 4.0, Ecto to 3.10.3, and Jason to 1.4.1, while adding support for newer Elixir and Phoenix versions to ensure compatibility with recent framework 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
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 62 → 49 (-13.1)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 91 → 95 (+3.8)
- Architecture 100 → 92 (-8.3)
- Maturity 55 → 54 (-1.1)
- Readiness 46 → 51 (+5.2)
- Security 96 → 95 (-1.3)
- Accessibility 32 (new)
Resolved (14)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (lib/kaffy/resource_form.ex)
- Duplicated block (11 lines × 2) (lib/kaffy/resource_admin.ex)
- Duplicated block (11 lines × 2) (lib/kaffy_web/controllers/resource_controller.ex)
- Duplicated block (13 lines × 2) (lib/kaffy_web/controllers/resource_controller.ex)
- Duplicated block (14 lines × 2) (lib/kaffy_web/controllers/resource_controller.ex)
- Duplicated block (8 lines × 2) (lib/kaffy/resource_form.ex)
- Duplicated block (8 lines × 2) (lib/kaffy/resource_schema.ex)
- High CVE: [GHSA redacted] (mix.lock)
- High CVE: [GHSA redacted] (mix.lock)
- Medium CVE: EEF-[CVE redacted] (mix.lock)
- No exposed public API
- Test reliability not included
New (25)
- Duplicated block (10 lines × 2) (lib/kaffy/resource_form.ex)
- Duplicated block (10 lines × 2) (lib/kaffy_web/controllers/resource_controller.ex)
- Duplicated block (11 lines × 2) (lib/kaffy/resource_schema.ex)
- Duplicated block (12 lines × 2) (lib/kaffy_web/controllers/resource_controller.ex)
- Duplicated block (14 lines × 2) (lib/kaffy/resource_admin.ex)
- Duplicated block (14 lines × 2) (lib/kaffy_web/controllers/resource_controller.ex)
- Duplicated block (22 lines × 2) (lib/kaffy_web/controllers/resource_controller.ex)
- Duplicated block (9 lines × 2) (lib/kaffy/resource_form.ex)
- High CVE: [GHSA redacted] (mix.lock)
- High CVE: [GHSA redacted] (mix.lock)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium CVE: EEF-[CVE redacted] (mix.lock)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- No dependency advisory monitoring
- Outdated: ecto
- Outdated: ex_doc
- Outdated: jason
- …and 5 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
aesmail/kaffy 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 23 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 b31b54eac985aec644d48440bd96da74341f8974 — 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-955b9cee9818.