A comprehensive Angular 20+ template project featuring modern authentication, dashboard, and responsive design patterns. Built with the latest Angular features including standalone components, signals, and the new control flow syntax.
- Login & Registration: Complete authentication flow with reactive forms
- Route Guards: Protected routes with auth and guest guards
- Signal-based State: Modern reactive state management
- Demo Credentials: Any email with password
123456
- Welcome Section: Personalized greeting with user information
- Stats Cards: Interactive metrics with hover animations
- Quick Actions: Smooth gradient buttons with loading states
- Recent Activity: Real-time activity tracking
- System Status: Live system health indicators
- Profile Management: Editable user profiles with avatar upload
- Account Settings: Security preferences and two-factor authentication
- Team Management: User role and permission handling
- Responsive Design: Mobile-first approach with TailwindCSS
- Material Design: Angular Material components with custom theming
- Smooth Animations: 60fps animations with CSS transitions
- Dark Mode Ready: Optimized for light and dark themes
- Standalone Components: Latest Angular architecture
- Lazy Loading: Code-splitting for optimal performance
- Signal-based State: Reactive programming with Angular signals
- TypeScript Strict: Full type safety throughout the application
src/
โโโ app/
โ โโโ core/ # Core application services
โ โ โโโ guards/ # Route protection
โ โ โ โโโ auth.guard.ts # Authentication guards
โ โ โโโ services/ # Application services
โ โ โโโ auth.service.ts # Authentication service with signals
โ โ
โ โโโ features/ # Feature modules
โ โ โโโ auth/ # Authentication components
โ โ โ โโโ login.component.* # Login page
โ โ โ โโโ register.component.* # Registration page
โ โ โโโ dashboard/ # Dashboard components
โ โ โ โโโ dashboard.component.* # Main dashboard
โ โ โโโ profile/ # User profile
โ โ โโโ profile.component.* # Profile management
โ โ
โ โโโ shared/ # Shared components
โ โ โโโ layouts/ # Layout components
โ โ โโโ auth-layout.component.* # Auth pages layout
โ โ โโโ main-layout.component.* # Main app layout
โ โ
โ โโโ app.config.ts # Application configuration
โ โโโ app.routes.ts # Route definitions
โ โโโ app.ts # Root component
โ โโโ main.ts # Bootstrap file
โ
โโโ styles.scss # Global styles
โโโ index.html # Entry point
- Angular 20+: Latest Angular with standalone components
- TypeScript: Strict type checking and modern ES features
- RxJS: Reactive programming for async operations
- Angular Material: Material Design components
- TailwindCSS v4: Utility-first CSS framework
- Custom Theming: Azure and blue color palettes
- Signals: Modern reactive state management
- Standalone Components: No NgModules required
- Lazy Loading: Route-based code splitting
- Reactive Forms: Form validation and handling
- Angular CLI 20.1.0: Latest tooling and scaffolding
- PostCSS: CSS processing and optimization
- ESLint: Code quality and consistency
- Node.js 18+ and npm
- Angular CLI 20+
npm install -g @angular/cli- Clone and install dependencies:
git clone <repository-url>
cd ng-template-example
npm install- Start development server:
ng serve- Open your browser:
Navigate to
http://localhost:4200/
- Email: Any valid email format
- Password:
123456
The application is fully responsive with breakpoints optimized for:
- Mobile: 320px - 768px
- Tablet: 768px - 1024px
- Desktop: 1024px+
Features adaptive layouts for sidebar navigation, dashboard grids, and form layouts.
// Modern signal-based authentication
const user = signal<User | null>(null);
const isAuthenticated = computed(() => !!user());
login(credentials: LoginRequest): Observable<User>
register(userData: RegisterRequest): Observable<User>
logout(): void
updateProfile(profile: Partial<User>): Observable<User>- Stats Display: Dynamic metric cards with animations
- Quick Actions: Gradient buttons with loading states
- Activity Feed: Real-time updates and notifications
- System Monitoring: Health status indicators
- Main Layout: Responsive sidebar with navigation
- Auth Layout: Centered forms with background patterns
- Mobile Navigation: Collapsible drawer with touch gestures
ng serve # Start dev server
ng serve --open # Start and open browser
ng serve --port 4300 # Custom portng build # Development build
ng build --prod # Production build
ng build --watch # Watch modeng generate component my-component # Generate component
ng generate service my-service # Generate service
ng generate guard my-guard # Generate guard
ng generate --help # See all optionsng test # Unit tests with Karma
ng test --watch=false # Single run
ng e2e # End-to-end testsng lint # Run ESLint
ng build --analyze # Bundle analysisThe project uses Angular's modern configuration approach:
app.config.ts: Application providers and configurationapp.routes.ts: Route definitions with lazy loadingangular.json: Build and project configurationtailwind.config.js: TailwindCSS customization
// Global styles (styles.scss)
@import 'tailwindcss';
@import '@angular/material/theming';
// Component styles
.component-class {
// Custom SCSS with TailwindCSS utilities
}- Lazy Loading: Route-based code splitting
- Tree Shaking: Unused code elimination
- OnPush Strategy: Optimized change detection
- Standalone Components: Reduced bundle size
- Hardware Acceleration: CSS will-change property
- 60fps Animations: Optimized transitions with cubic-bezier
- Reduced Repaints: Transform-based animations
const routes: Routes = [
{ path: 'auth', loadComponent: () => AuthLayoutComponent },
{ path: 'dashboard', loadComponent: () => DashboardComponent, canActivate: [authGuard] },
{ path: 'profile', loadComponent: () => ProfileComponent, canActivate: [authGuard] },
{ path: '', redirectTo: '/dashboard', pathMatch: 'full' }
];- Auth Guard: Protects authenticated routes
- Guest Guard: Redirects authenticated users
- Role-based Guards: Permission-based access control
- Primary: Azure blue variants
- Accent: Material blue tones
- Background: Gradient combinations
- Text: High contrast ratios
- Font Family: System font stack
- Scale: Material Design type scale
- Weight: 400, 500, 600, 700
- TailwindCSS: Consistent spacing scale
- Grid System: CSS Grid and Flexbox
- Responsive: Mobile-first breakpoints
- Real-time notifications with WebSocket
- Advanced role-based permissions
- Data visualization with charts
- Offline support with service workers
- Multi-language internationalization (i18n)
- Advanced form builders
- File upload and management
- Integration with backend APIs
- Unit test coverage expansion
- E2E test automation
- Performance monitoring
- Accessibility (a11y) enhancements
- PWA capabilities
- SSR/SSG with Angular Universal
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit changes:
git commit -m 'Add my feature' - Push to branch:
git push origin feature/my-feature - Submit a pull request
- Follow Angular style guide
- Use TypeScript strict mode
- Write meaningful commit messages
- Add unit tests for new features
- Ensure responsive design compatibility
- Angular Official Docs - Latest Angular features
- Angular CLI Reference - Command line tools
- Angular Material - Material Design components
- TailwindCSS - Utility-first CSS framework
- RxJS - Reactive programming library
- TypeScript - Typed JavaScript
This project is licensed under the MIT License - see the LICENSE file for details.
- Angular team for the amazing framework
- Material Design team for the component library
- TailwindCSS for the utility framework
- Open source community for inspiration and contributions
Built with โค๏ธ using Angular 20+ and modern web technologies