Metis - Modern Bootstrap 5 Admin Dashboard Template

August 3, 2026 ยท View on GitHub

A completely modernized, powerful, and free Bootstrap 5 admin dashboard template built with cutting-edge web technologies.

๐ŸŽ‰ Version 3.4.5 Release - Patch follow-up to 3.4.4: extends the width: 100% fix to form inputs/selects inside the elements showcase previews (long placeholder text was truncated), and restores the form-select arrow-gap padding that was getting clobbered by a shorthand padding rule on the same page.

Metis Bootstrap Admin Dashboard

๐Ÿš€ View Live Demo

License: MIT Bootstrap Node.js

โœจ Features

๐ŸŽจ Modern Design System

  • Bootstrap 5.3.8 - Latest version with all modern utilities
  • CSS Custom Properties - Full theme customization support
  • Dark/Light Mode - Seamless theme switching with localStorage persistence
  • Responsive First - Mobile-optimized layouts across all devices
  • Modern Typography - Inter font family for enhanced readability

๐Ÿš€ Advanced Technology Stack

  • Alpine.js 3.15.12 - Lightweight reactive framework for modern interactions
  • ES6+ JavaScript - Modern JavaScript with modules and async/await
  • Vite 8.2 - Lightning-fast development and optimized production builds (rolldown-powered)
  • SCSS Architecture - Organized, scalable stylesheet structure with Sass 1.102
  • Bootstrap Icons 1.13.1 - 1,800+ icons available; build ships only the ~158 actually used
  • ApexCharts 6.7 - Single charting library, imported per chart type so unused chart types stay out of the bundle
  • Zero third-party runtime requests - fonts, charts, syntax highlighting and images are all self-hosted, so the template works offline, behind a strict CSP, and without leaking visitor IPs to a CDN

๐Ÿ“Š Comprehensive Dashboard Pages

  • ๐Ÿ“ˆ Analytics Dashboard - Charts, KPIs, and data visualization
  • ๐Ÿ‘ฅ User Management - Complete CRUD operations with modern forms
  • ๐Ÿ“ฆ Product Management - E-commerce ready product listings
  • ๐Ÿ›’ Order Management - Order tracking and status management
  • ๐Ÿ“ File Manager - Modern file browser with upload/download
  • ๐Ÿ“… Calendar - Full-featured event management
  • ๐Ÿ’ฌ Messages - Chat interface with real-time styling
  • ๐Ÿ“Š Reports - Data tables with filtering and export
  • โš™๏ธ Settings - Comprehensive admin configuration
  • ๐Ÿ”’ Security - User permissions and security settings
  • โ“ Help & Support - FAQ, documentation, and support tickets

๐Ÿ› ๏ธ Developer Experience

  • Hot Module Replacement - Instant development feedback
  • TypeScript Ready - Full TypeScript support (optional)
  • Component Architecture - Modular, reusable JavaScript components
  • Modern Build Pipeline - Optimized assets with automatic minification
  • Developer Tools - Source maps, linting, and debugging support

Professional Admin Templates

Take your project to the next level with premium dashboards from DashboardPack โ€” polished designs, extensive documentation, and ongoing updates included.

TailPanel โ€” Tailwind CSS and React powered admin interface
TailPanel
React + TypeScript + Tailwind CSS + Vite. 9 unique dashboards with light/dark toggle.
Admindek โ€” enterprise-grade Bootstrap 5 admin dashboard
Admindek
Bootstrap 5 + vanilla JS. 100+ components, theme switcher, RTL, 10 color presets.
Adminty โ€” large-scale admin template with 160+ pre-built pages
Adminty
Bootstrap 5. 160+ pages, rich component library for enterprise applications.
ArchitectUI โ€” highly customizable admin panel with 250+ elements
ArchitectUI
Bootstrap 5. 250+ elements, component-driven architecture, 9 dashboard styles.
Kero โ€” versatile admin dashboard with Webpack build pipeline
Kero
Bootstrap 5 + Webpack. Horizontal and sidebar navigation modes, SASS customization.
Cryptocurrency Dashboard โ€” digital asset monitoring admin template
Cryptocurrency Dashboard
Bootstrap. Tailored for ICO launches, crypto wallets, and blockchain analytics.

See All Templates on DashboardPack

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+ (recommend using nvm)
  • npm or yarn package manager

Installation

# Clone the repository
git clone https://github.com/puikinsh/Bootstrap-Admin-Template.git metis-admin
cd metis-admin

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

๐Ÿ“ Project Structure

metis-admin/
โ”œโ”€โ”€ src-modern/                 # Modern source files
โ”‚   โ”œโ”€โ”€ *.html                 # Page templates
โ”‚   โ”œโ”€โ”€ scripts/               # JavaScript modules
โ”‚   โ”‚   โ”œโ”€โ”€ components/        # Page-specific components
โ”‚   โ”‚   โ”œโ”€โ”€ utils/            # Utility functions
โ”‚   โ”‚   โ””โ”€โ”€ main.js           # Application entry point
โ”‚   โ”œโ”€โ”€ styles/               # SCSS stylesheets
โ”‚   โ”‚   โ”œโ”€โ”€ abstracts/        # Variables, mixins, utilities
โ”‚   โ”‚   โ”œโ”€โ”€ components/       # UI component styles
โ”‚   โ”‚   โ”œโ”€โ”€ layout/          # Layout-specific styles
โ”‚   โ”‚   โ”œโ”€โ”€ pages/           # Page-specific styles
โ”‚   โ”‚   โ””โ”€โ”€ themes/          # Theme variants
โ”‚   โ””โ”€โ”€ assets/              # Static assets
โ”œโ”€โ”€ dist-modern/             # Production build output
โ”œโ”€โ”€ node_modules/           # Dependencies
โ”œโ”€โ”€ package.json           # Project configuration
โ”œโ”€โ”€ vite.config.js         # Build configuration
โ””โ”€โ”€ README.md              # This file

๐ŸŽฏ Available Scripts

# Development
npm run dev          # Start development server with HMR
npm run dev:host     # Start dev server accessible on network

# Production
npm run build        # Create optimized production build
npm run preview      # Preview production build locally

# Quality
npm run lint         # ESLint check
npm run format       # Format with Prettier
npm run audit        # Fail on high/critical advisories
npm run test:build   # Build, then load all 21 pages in a headless browser
npm run verify       # lint + audit + test:build

# Maintenance
npm run clean        # Clean build artifacts

Smoke test

npm run test:build loads every built page in headless Chromium and fails on uncaught exceptions, console errors, failed or external requests, chart pages that render no charts, and element pages that render no highlighted code.

Playwright is intentionally not a dependency โ€” it would add a large install for everyone who just wants to build the template. Provide it yourself:

npx playwright install chromium
PLAYWRIGHT_PATH=playwright npm run test:build

CI installs it as a separate step (see .github/workflows/ci.yml).

๐ŸŽจ Customization

Theme Customization

Edit src-modern/styles/scss/abstracts/_variables.scss:

// Brand Colors
$primary: #6366f1;    // Your brand primary color
$secondary: #64748b;  // Secondary color
$success: #10b981;    // Success state color

// Typography
$font-family-sans-serif: "Inter", system-ui, sans-serif;
$font-size-base: 0.9rem;

// Spacing & Layout
$border-radius: 0.75rem;
$box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);

Adding New Pages

  1. Create HTML file in src-modern/
  2. Add corresponding SCSS in src-modern/styles/scss/pages/
  3. Create JavaScript component in src-modern/scripts/components/
  4. Register in src-modern/scripts/main.js

Component Development

// src-modern/scripts/components/example.js
import Alpine from 'alpinejs';

document.addEventListener('alpine:init', () => {
  Alpine.data('exampleComponent', () => ({
    // Component state and methods
    init() {
      console.log('Example component initialized');
    }
  }));
});

๐Ÿ†• What's New in v3.5.0

Modernization Pass (August 2026)

  • โœ… Zero third-party runtime requests - The ApexCharts CDN tag (unpinned, unhashed, and loading a second copy of the library alongside the bundled one), Prism from cdnjs, Google Fonts, and flagcdn.com images are all gone. Fonts, charts, highlighting and images are self-hosted, so the template works offline, behind a strict CSP, and without disclosing visitor IPs to a CDN. The smoke test enforces this.
  • โœ… All security advisories patched - postcss (path traversal), immutable (trie overflow + hash-collision DoS), brace-expansion (DoS). npm audit reports 0, with overrides pinning the transitive packages so a fresh resolve can't regress.
  • โœ… Every dependency current - ApexCharts 5 โ†’ 6 (now imported per chart type, ~56 KB gzip lighter than v6's default entry), Vite 8.2, ESLint 10.8, Sass 1.102. Dropped lucide (a 411 KB unfinished icon provider that rendered blank SVGs) and the unused @vitejs/plugin-legacy.
  • โœ… Broken pages fixed - Six element pages were shipping a JavaScript SyntaxError that killed their copy buttons, live demos and syntax highlighting. The entire Forms page was inert (its four Alpine components were never registered). Swal was used as a global in 7 components without an import โ€” 19 crash sites. All fixed and verified in a real browser.
  • โœ… Automated smoke test + CI - npm run test:build loads all 21 built pages in headless Chromium and fails on uncaught exceptions, console errors, failed or external requests, or missing charts/highlighting. GitHub Actions runs it on every push plus weekly for fresh advisories.
  • โœ… No inline JavaScript - 62 inline onclick handlers replaced with delegated data-* handlers.

See the CHANGELOG for full detail, including known follow-ups.

๐Ÿ†• What's New in v3.4.0

Hardening Pass (April 2026)

  • โœ… Security - XSS-safe DOM rendering replaces innerHTML interpolation in toast/activity feed; inline onclick removed from elements-tables; Referrer-Policy + X-Content-Type-Options meta tags added to every page; localStorage reads schema-validated; password fields tagged autocomplete="new-password"; console.* and debugger stripped from production bundles
  • โœ… Accessibility - Skip-to-main-content link on every page, keyboard focus rings restored (:focus-visible), prefers-reduced-motion media query, aria-controls/aria-expanded on the sidebar toggle, sortable table headers gain role="button" + aria-sort + keyboard handlers, single <h1> per page, normalized heading hierarchy
  • โœ… Performance - CSS down 20% (~100 KB raw) via Bootstrap-partial cleanup and Bootstrap-Icons subsetting (158 used icons vs. 1,800); cssCodeSplit, cssMinify: lightningcss, target: 'es2020' in Vite config
  • โœ… Memory leaks fixed - Dashboard, analytics, and messages components now track intervals/listeners and clean up on pagehide; ApexCharts instances .destroy()'d
  • โœ… Single charting library - chart.js removed; dashboard migrated to ApexCharts (saved ~63 KB gzip in vendor-charts chunk)
  • โœ… Toolchain - Vite 7 โ†’ 8 (rolldown), ESLint 9 โ†’ 10, Lucide 0.469 โ†’ 1.11, plus minor bumps across the board (0 vulnerabilities)
  • โœ… DRY - 11 duplicated searchComponent definitions extracted to a createSearchComponent factory; magic numbers hoisted to a constants.js module
  • โœ… Repo hygiene - dist-modern/ no longer tracked in git; abandoned dev scripts removed

๐ŸŒŸ Key Improvements in v3.0

From v2.x to v3.0

  • โœ… Bootstrap 3 โ†’ Bootstrap 5 - Complete framework upgrade
  • โœ… jQuery โ†’ Alpine.js - Modern, lightweight reactive framework
  • โœ… LESS โ†’ SCSS - More powerful styling with better tooling
  • โœ… Gulp โ†’ Vite - Lightning-fast build system with HMR
  • โœ… ES5 โ†’ ES6+ - Modern JavaScript with modules and async/await
  • โœ… Old Icons โ†’ Bootstrap Icons - 1,800+ modern SVG icons
  • โœ… Static โ†’ Interactive - Rich, app-like user interactions
  • โœ… Fixed โ†’ Responsive - Mobile-first, adaptive layouts
  • โœ… Basic โ†’ Advanced - Professional dashboard features

Performance Improvements

  • 90%+ Lighthouse Score - Optimized for Core Web Vitals
  • Tree Shaking - Only load code you actually use
  • Code Splitting - Lazy load components for faster initial loads
  • Asset Optimization - Automatic image and CSS optimization
  • Modern Bundle - ES6+ for modern browsers with optimal tree-shaking

๐Ÿ›ก๏ธ Browser Support

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

IE11 is not supported.

๐Ÿ“š Documentation & Resources

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Copyright (c) 2025 Aigars Silkalns & Colorlib

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

๐Ÿ™ Credits & Attribution

Core Technologies

Design Resources

  • Inter Font - Modern typeface designed for computer screens
  • Heroicons - Additional beautiful hand-crafted SVG icons

๐Ÿ‘ฅ About the Authors

Colorlib - The most popular source for free WordPress themes and HTML templates.

Aigars Silkalns - Project maintainer and founder of Colorlib.


โญ Star this repository if you found it helpful!

Built with โค๏ธ by the Colorlib team