Seven dashboards, including a drag-and-drop dynamic dashboard based on @katoid/angular-grid-layout
elementar-admin — Angular Admin dashboard Template
By randrost
An Angular admin template based on the Elementar RT component library, featuring seven dashboards, sixteen application modules, and complete settings pages, all running on typed mock data and ready to connect to your own API.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Sixteen application areas covering calendar, chat, mail, file manager, kanban, notes, contacts, AI Studio, invoices, projects, courses, and more
A widget registry widgets/registry.ts maps ids to components and default grid sizes; the gallery, each dashboard, and the dynamic dashboard selector all render from the same list
Different presentations of the same dataset reuse the same component via route data.variant, avoiding maintaining two implementations
Styled with Tailwind v4 and Angular Material 3 tokens, charts based on ECharts, tables based on TanStack Table
axe-core audited across 38 routes in both color schemes with zero violations reported, and E2E re-runs the checks
Template Details
Elementar RT Admin is an open-source Angular admin front-end template whose interface is built on the Elementar RT component library rather than defining its own. The template covers seven dashboards, sixteen application areas, twelve widget directories, and common admin pages such as account, settings, and UI gallery. All screens are fully implemented, not placeholders.
The project runs entirely on typed mock data with no backend: each feature area includes its own mock-data.ts and root-level services, exposing data via signals. It is therefore suitable as a starting point to clone and point at your own API, or as a reference for how modules collaborate. The template was built according to an independent specification document docs/FEATURES.md written before the code; where the two disagree, the specification takes precedence.
It should be clear that this is not a production-hardened version: there is no authentication, no persistence beyond localStorage, and data resets on refresh. Licenses for third-party assets such as demo images, fonts, and icons must be checked separately and cannot be assumed from the code's MIT license alone.
Is it right for your project?
Use Cases
- Clone the template and replace each feature area's mock services with your own API to quickly build an admin front-end
- Refer to the widget registry and route variant organization to design an extensible admin module structure
- Use for demos or prototypes to directly showcase complete interactions of dashboards, application modules, and settings pages
- Use as a learning reference for Angular standalone components, signals, and @ngrx/signals state management
Suitable For
- Developers who need an Angular admin front-end starting point and plan to connect it to their own API
- Teams looking to study how a complete admin page is organized and how component registration works
- Projects that need to quickly produce admin interface demos or prototypes
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node 20 or higher
- 2
Run npm install to install dependencies, npm start to start the dev server (default http://localhost:4200)
- 3
npm run build produces a production build in dist/, npm test runs unit tests, npm run e2e runs end-to-end and accessibility tests
- 4
E2E tests start their own dev server on port 4300 and will not occupy an existing service on port 4200
- 5
Deploy as a static SPA; nginx must fall back unknown paths to index.html, otherwise deep-link refreshes will 404
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope is the code of this version and does not imply that external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute the code of this version for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The template itself is not a component library but depends on the external @elementar-rt/components library; before use, confirm the availability and license of that library.
- Not a production-hardened version: there is no authentication mechanism, no persistence beyond localStorage, and data resets on refresh, so it is not suitable for direct production use.
- Kubernetes deployment manifests are in the private repository tls-infra, not in this repository, so complete K8s deployment configuration is not directly available.
- The AI Studio in-browser LLM feature depends on @mlc-ai/web-llm and requires WebGPU support, so it is unavailable in environments without WebGPU.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be assumed from the code's MIT license alone.
- External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Not a component library — it consumes [`@elementar-rt/components`](https://elementar-rt.tulikas.de)
Original README
Not production-hardened: there is no auth, no persistence beyond `localStorage`, and the data resets on reload.
Original README
The Kubernetes manifest (nginx ingress, cert-manager TLS) lives in [`tls-infra`](https://github.com/randrost/tls-infra) (private), not in this repo
Original README
https://github.com/randrost/elementar-admin/blob/main/LICENSEhttps://github.com/randrost/elementar-admin/blob/main/README.mdIn-browser LLM | `@mlc-ai/web-llm`, WebGPU-gated
Original README
Compiled by DeepSeek based on repository license and README ·2026-09-30. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 88 / 100
- Technologies
- Angular
- Website type
- Admin dashboard · SaaS
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-27
- Screenshot last checked
- 2026-09-30
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Angular as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: d14f00f0e798d58814ca7ee41512ed9daf34ade235487d13944ab873d126f150
2026-09-30T11:35:32.849Z
Source file / repository# Elementar RT Admin An open-source Angular 20 admin template. Every screen is built, not stubbed — seven dashboards, sixteen application areas, a twelve-widget catalog, and the settings, account, and UI-gallery pages an admin product actually needs. **[Live demo](https://admin.elementar-rt.tulikas.de)** · MIT licensed --- ## What this is A complete admin front end running entirely on typed mock data. There is no backend: each feature area owns a `mock-data.ts` with its models and a root-provided service exposing signals. That makes it a template you can clone and point at your own API, and a reference for how the pieces fit together. It is built against [`docs/FEATURES.md`](docs/FEATURES.md), an independent specification written before the code. If the two disagree, the spec wins. ### What it is not Not a component library — it consumes [`@elementar-rt/components`](https://elementar-rt.tulikas.de) rather than defining one. Not production-hardened: there is no auth, no persistence beyond `localStorage`, and the data resets on reload. --- ## Stack | Concern | Choice | |---|---| | Framework | Angular 20, standalone components, `OnPush` everywhere | | State | Signals; `@ngrx/signals` for shared stores | | Styling | Tailwind v4 + Angular Material 3 tokens | | Charts | ECharts, wrapped in a directive | | Tables | TanStack Table | | Calendar | FullCalendar 6 (core driven imperatively) | | Editor | Milkdown Crepe (posts), plus an original block editor | | Grid | `@katoid/angular-grid-layout` (dynamic dashboard) | | In-browser LLM | `@mlc-ai/web-llm`, WebGPU-gated | | Icons | Iconify (Solar, Logos, Circle Flags), self-hosted | | Avatars | DiceBear, generated at runtime | Every heavy dependency is confined to the lazy chunk of the route that needs it. Opening the dashboard does not download the calendar, the editor, or the LLM. --- ## Getting started ```bash npm install npm start # dev server on http://localhost:4200 ``` Other scripts: ```bash npm run build # production build into dist/ npm run build:prod # explicit production configuration npm test # unit tests (Karma + Jasmine, watch mode) npm run test:ci # unit tests once, headless npm run e2e # end-to-end and accessibility tests (Playwright) npm run e2e:ui # the same, in Playwright's UI mode ``` The E2E suite starts its own dev server on port 4300, so it never picks up whatever you have running on 4200. Node 20 or newer. --- ## Project structure ``` src/app/ core/ # avatar service, app store shared/ # datatable, charts, sparkline, stepper, mock helpers shell/ # sidebar, header, page container auth/ # sign-in through to the setup wizard error/ # 404 / 500 / 403 / maintenance onboarding/ # first-run flow dashboards/ # seven dashboards, incl. the drag-and-drop one widgets/ # the widget catalog and its registry applications/ # calendar, messenger, email, kanban, invoice, … management/ # posts and site settings account/ # notifications and account settings user-profile/ # overview and talent profiles gallery/ # cards, prebuilt, tables, themes, pricing, integrations ``` Two conventions carry most of the weight: **The widget registry.** `widgets/registry.ts` maps an id to a component plus its default grid size. The galleries, every dashboard, and the dynamic dashboard's picker all render from that one list, so registering a widget publishes it everywhere. **Route-supplied variants.** Where two routes are two presentations of one dataset — `billing` / `billing-2`, `notifications` / `notifications-2`, `cards/general` / `cards/users` — they are one component reading `data.variant` from the route, not two implementations to keep in sync. --- ## Feature map | Area | Routes | |---|---| | Dashboards | getting-started, basic, analytics, ecommerce, finance, explore, dynamic | | Applications | calendar, messenger, email, file manager, content editor, kanban, notes, contacts, AI studio, help center, invoice, projects, courses | | Management | posts (list/new/edit/details/categories/topics), site settings (5 areas) | | Account | notifications, settings (9 pages) | | Profile | overview, talent | | UI gallery | widgets, cards, prebuilt, datatables, themes, pricing, integrations, service pages, public posts | | Outside shell | auth (7), errors (7), onboarding | --- ## Accessibility Audited with axe-core (WCAG 2.0/2.1 A and AA) across 38 routes in both colour schemes, with zero violations at the time of writing. That covers landmarks, heading order, form labelling, and contrast — the tool cannot judge whether the reading order makes sense, so treat it as a floor rather than a guarantee. Keyboard focus is visible everywhere via a `:focus-visible` ring, and scrollable regions are reachable by keyboard. `npm run e2e` re-runs the axe checks, so a regression fails CI rather than shipping. --- ## Deployment The app is a static SPA served by nginx. ```bash docker build -t elementar-rt-admin . docker run -p 8080:80 elementar-rt-admin ``` The Kubernetes manifest (nginx ingress, cert-manager TLS) lives in [`tls-infra`](https://github.com/randrost/tls-infra) (private), not in this repo — `Jenkinsfile` builds, pushes, and deploys from there on every push to the default branch. Because it is a SPA, the nginx config falls back to `index.html` for unknown paths — without that, a refresh on any deep link would 404. --- ## Licence MIT — see [LICENSE](LICENSE). Use it, fork it, ship it. Built by [Rostyslav Tulika](https://tulikas.de).
Explore similar templates
Compare previews and descriptions within the same stack and category.

ngx-admin
ngx-admin is an Angular admin dashboard template maintained by Akveo, built on the Nebular component library and released under the MIT license.
Angular · Admin dashboard

material-angular-dashboard
A dark-themed Angular admin template following Google Material Design, with dashboard pages, D3/NVD3 charts, ag-Grid tables, and a Sass/BEM theme. Released under the MIT license, it offers starter-kit, feature/backend, and feature/serverless branches.
Angular · Admin dashboard

ng-devui-admin
A customizable mid-to-back-office admin template built with Angular and DevUI, featuring configurable layouts, multi-theme switching, internationalization, and local mock data debugging.
Angular · Admin dashboard

angular-material-template
A responsive Angular Material admin template with authentication, sidebar dashboard, account area, role guards, JWT interceptor, and lazy-loaded modules, under the MIT license.
Angular · Admin dashboard

lightning-admin-angular
A mobile-first responsive admin template built with Angular and Bootstrap, offering data interface layouts such as dashboards.
Angular · Admin dashboard

StarAdmin-Free-Angular-Admin-Template
A free admin template based on Angular 7 and Bootstrap 4, maintained by BootstrapDash.
Angular · Admin dashboard
