A modern Angular component library built with NX monorepo architecture, featuring Material Design 3 theming, standalone components, and comprehensive UI components.
- π Best Practices - Coding standards, conventions, and development guidelines
- ποΈ Architecture - Technical architecture, design decisions, and project structure
- π€ Contributing - Developer contribution guide and workflow
- π Deployment - Production deployment and CI/CD guide
- π Changelog - Version history and release notes
- π Getting Started - Quick start guide and development setup
- π Component Guide - Available components and usage examples
- π¨ Theming - Theme customization and usage
- π Project Structure - Directory organization
- π€ Contributing - How to contribute to the project
- Node.js: v22.17.0
- npm: Latest version
- Angular CLI: v20.x
- NX CLI: v21.x (optional but recommended)
# Clone the repository
git clone <repository-url>
cd aum-core
# Install dependencies
npm install
# Start development server
npm run serve
# or using NX
nx serve aum-core
# Development server
nx serve aum-core
# or
nx run aum-core:serve:development
# Production build
nx build aum-core --configuration=production
# Development build
nx build aum-core --configuration=development
# Run tests
nx test aum-core
# Run tests with coverage
nx test aum-core --coverage
# Run linting
nx lint aum-core
- ButtonComponent - Multi-variant buttons with icon support
- MenuListComponent - Dropdown menus with nested options
- InputComponent - Text input with validation
- CheckboxComponent - Checkbox with indeterminate state
- RadioButtonComponent - Radio button groups
- DatePickerComponent - Date selection with calendar
- SelectBoxComponent - Single and multi-select dropdowns
- AutocompleteComponent - Auto-completing input field
- PageComponent - Standard page layout with breadcrumbs
- CardComponent - Content container with shadow
- BreadcrumbComponent - Navigation breadcrumbs
- ConfirmationDialogComponent - Yes/No confirmation dialogs
- GenericDialogComponent - Customizable modal dialogs
- SnackbarService - Toast notifications
import { ButtonComponent } from '@aum/ui/buttons';
import { CardComponent } from '@aum/ui/layout';
@Component({
selector: 'app-example',
standalone: true,
imports: [ButtonComponent, CardComponent],
template: `
<aum-card>
<div card-body>
<h2>Welcome to AUM UI</h2>
<aum-button type="filled" value="Get Started" (buttonClick)="handleClick()"> </aum-button>
</div>
</aum-card>
`,
})
export class ExampleComponent {
handleClick() {
console.log('Button clicked!');
}
}
npx nx g @angular/material:theme-color --project=aum-core
Default Theme Colors:
- Primary:
#6E57E0
(Purple) - Secondary:
#ffffff
(White) - Error:
#DF0101
(Red)
Theme Builder: Material Theme Builder
.my-component {
color: var(--mat-sys-on-surface);
background-color: var(--mat-sys-surface);
border: 1px solid var(--mat-sys-outline-variant);
}
aum-core/
βββ apps/aum-core/ # Main application (lightweight)
βββ libs/
β βββ aum/ # Core AUM libraries (prefix: aum)
β β βββ ui/ # Reusable UI components
β β βββ theme/ # Styles, themes, assets
β β βββ utils/ # Services, interfaces, models
β β βββ templates/ # Template components
β βββ modules/ # App modules (prefix: aum-modules)
β βββ dashboard/ # Dashboard feature module
β βββ playground/ # Component playground
βββ docs/ # Documentation files
- Angular 20 - Modern framework with standalone components
- NX 21 - Monorepo tooling and build system
- Material Design 3 - Consistent theming system
- TypeScript 5.8 - Type safety and modern JavaScript features
- RxJS 7.8 - Reactive programming
- Jest 29 - Testing framework
- NX Angular Monorepo Tutorial
- Angular Documentation
- Angular Material Components
- Material Design System
- Read the Best Practices Guide
- Understand the Architecture
- Follow the development workflow
- Test your changes in both light and dark modes
- Submit a pull request with clear description
MIT License - see LICENSE file for details.
Quick Start: npm install && nx serve aum-core
For detailed information, see our documentation above.