Modern Angular admin dashboard template built with Angular 20, Vite, Jest, Biome, and DaisyUI.
- Angular 20 - Latest Angular with standalone components and Signals
- Vite - Fast build tool with HMR (Hot Module Replacement)
- TypeScript 5.4 - Type-safe development
- Tailwind CSS 3.4 - Utility-first CSS framework
- DaisyUI 4.12 - Beautiful component library with 20+ themes
- Jest - Modern testing framework
- Biome - Fast linter and formatter
- π Advanced Data Tables - Sorting, filtering, pagination, and CSV export
- π Reactive Forms - Complex forms with validation
- π¨ Multiple Themes - 20+ DaisyUI themes with dark mode support
- π± Responsive Design - Mobile-first responsive layout
- π State Management - Angular Signals + Services pattern
- β‘ Performance - Lazy loading and optimized builds
- βΏ Accessibility - WCAG compliant components
- Node.js 20.x or later
- npm, yarn, or pnpm
# Install dependencies
npm install
# Start development server
npm run devThe application will be available at http://localhost:4200
# Development
npm run dev # Start Vite dev server with HMR
# Production
npm run build # Build for production
npm run preview # Preview production build locally
# Testing
npm test # Run Jest tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Generate coverage report
# Code Quality
npm run lint # Run Biome linter
npm run format # Format code with Biome
npm run check # Lint and format codesrc/
βββ app/
β βββ core/ # Singleton services, guards
β β βββ services/
β β βββ theme.service.ts # Theme management with Signals
β β βββ sidebar.service.ts # Sidebar state management
β β βββ mock-data.service.ts # Mock API data service
β βββ features/ # Feature modules (lazy-loaded)
β β βββ dashboard/ # Dashboard page with stats
β β βββ tables/ # Advanced data tables
β β βββ forms/ # Form examples
β βββ layouts/ # Layout components
β β βββ admin-layout/ # Main admin layout
β β βββ sidebar/ # Responsive sidebar
β β βββ navbar/ # Top navigation bar
β βββ shared/ # Reusable components
β β βββ components/
β β βββ card/ # Card wrapper component
β β βββ stat-card/ # Statistics card
β β βββ loading-spinner/ # Loading indicator
β βββ models/ # TypeScript interfaces
β βββ app.component.ts # Root component
β βββ app.routes.ts # Application routes
βββ environments/ # Environment configurations
βββ styles.css # Global styles with Tailwind
βββ main.ts # Application bootstrap
The template comes with 20+ built-in DaisyUI themes:
- Light (default), Dark
- Cupcake, Bumblebee, Emerald, Corporate
- Synthwave, Retro, Cyberpunk
- Valentine, Halloween, Garden, Forest
- Aqua, Lofi, Pastel, Fantasy
- Wireframe, Black, Luxury, Dracula
Themes can be changed via the theme selector in the navbar or programmatically:
import { ThemeService } from '@core/services/theme.service';
constructor(private themeService: ThemeService) {}
changeTheme() {
this.themeService.setTheme('dark');
}The project uses Jest for testing with full Angular support.
npm test # Run all tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage reportStats cards, recent activity, quick actions, system status
Column sorting, search/filter, pagination, CSV export
Reactive forms with validation, custom validators, multiple input types
@Component({
selector: 'app-example',
standalone: true,
imports: [CommonModule],
template: `...`
})count = signal(0);
doubleCount = computed(() => this.count() * 2);@if (loading()) {
<app-spinner />
}
@for (item of items(); track item.id) {
<app-item [data]="item" />
}npm run buildBuild artifacts will be in dist/ directory.
MIT License - see LICENSE file for details
Built with β€οΈ using Angular 20 and modern web technologies