# Angular Clarity Boilerplate This project is an Angular boilerplate application that uses the [Clarity Design System](https://clarity.design/) by VMware. It serves as a starter template for building modern, responsive, and feature-rich web applications. This boilerplate is pre-configured with a standard project structure and includes essential modules and components to kickstart your development process. --- ## πŸš€ Features * **Angular:** The latest version of the Angular framework. * **Clarity Design System:** A comprehensive set of UX guidelines, HTML/CSS components, and Angular components. * **Responsive Layout:** A responsive navigation and layout structure. * **Scalable Architecture:** A well-organized and scalable project structure. * **Theming:** Easily customizable themes (light and dark). --- ## πŸ› οΈ Getting Started Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes. ### Prerequisites Make sure you have [Node.js](https://nodejs.org/) and the [Angular CLI](https://angular.io/cli) installed on your system. ```bash npm install -g @angular/cli ## Installation Install the dependencies: npm install Running the Application Run the following command to start the development server: ng serve The app will automatically reload if you change any of the source files. ## DEPENDENCIES This project includes the following main dependencies: @angular/animations: The Angular animations library. @angular/common: Commonly needed services, pipes, and directives. @angular/compiler: The Angular template compiler. @angular/core: Core Angular framework. @angular/forms: Angular's form validation and handling library. @angular/platform-browser: Everything needed to run Angular in a web browser. @angular/router: The Angular router for navigation. @cds/core: Clarity Design System core components. @clr/angular: Angular components for Clarity. @clr/ui: HTML/CSS components for Clarity. rxjs: Reactive extensions for JavaScript. zone.js: A signaling mechanism for Angular that allows it to detect when to run change detection. πŸ“‚ Project Structure / β”œβ”€β”€ .vscode/ # VSCode settings β”œβ”€β”€ node_modules/ # Node.js modules β”œβ”€β”€ src/ # Application source code β”‚ β”œβ”€β”€ app/ # Application components and modules β”‚ β”‚ β”œβ”€β”€ core/ # Core module (singleton services, guards, etc.) β”‚ β”‚ β”œβ”€β”€ shared/ # Shared module (common components, pipes, etc.) β”‚ β”‚ β”œβ”€β”€ app-routing.module.ts β”‚ β”‚ β”œβ”€β”€ app.component.html β”‚ β”‚ β”œβ”€β”€ app.component.scss β”‚ β”‚ └── app.module.ts β”‚ β”œβ”€β”€ assets/ # Static assets (images, icons, etc.) β”‚ β”œβ”€β”€ environments/ # Environment-specific configuration β”‚ β”œβ”€β”€ index.html # Main HTML file β”‚ β”œβ”€β”€ main.ts # Main entry point β”‚ └── styles.scss # Global styles β”œβ”€β”€ .editorconfig # Editor configuration β”œβ”€β”€ .gitignore # Git ignore file β”œβ”€β”€ angular.json # Angular CLI configuration β”œβ”€β”€ package.json # Project dependencies and scripts β”œβ”€β”€ README.md # This README file └── tsconfig.json # TypeScript configuration --- ## βœ… What’s already built in this codebase (with file locations) ### Authentication & Login - Login page (UI + logic): - src/app/modules/login/login-page/login-page.component.html - src/app/modules/login/login-page/login-page.component.ts - src/app/modules/login/login-page/login-page.component.spec.ts - Login routing + module: - src/app/modules/login/login-routing.module.ts - src/app/modules/login/login.module.ts - Auth services: - src/app/services/api/login.service.ts - src/app/services/auth_guard.service.ts - src/app/services/jwt.interceptor.ts - Account flows: - Forgot/reset password: src/app/modules/login/forgotresetpassword/forgotresetpassword.component.html - Forgot/reset password (alt): src/app/modules/login/forgotresetpassword1/forgotresetpassword1.component.html - Email verification: src/app/modules/login/emailverification/emailverification.component.{ts,html} - Add guest: src/app/modules/login/addguest/addguest.component.html - About work: src/app/modules/login/about-work/about-work.component.{ts,html} ### Shell, Layout, Navigation (Menus/Sidebar/Topbar) - Application shell and layout (includes navbar/sidebar containers): - src/app/modules/main/layout/layout.component.{ts,html,scss} - Main module + routing: - src/app/modules/main/main.module.ts - src/app/modules/main/main-routing.module.ts - Menu models and admin menu management: - Models: src/app/models/builder/Rn_Main_Menu.ts, src/app/models/builder/Rn_Sub_Menu.ts, src/app/models/builder/Rn_Fb_Header.ts - Services: src/app/services/admin/menu-register.service.ts, src/app/services/admin/menu-group.service.ts, src/app/services/admin/menumaintance.service.ts - Components (CRUD): - src/app/modules/main/admin/menu-register/* (add/edit/all/readonly) - src/app/modules/main/admin/menu-group/* (all/edit/read-only) - src/app/modules/main/admin/menumaintance/menumaintance.component.{ts,html} - src/app/modules/main/admin/submenu/submenu.component.{ts,html} - src/app/services/api/realnet-menu.service.ts ### User & Access Management - User management (list/add/edit/profile/settings, groups): - src/app/modules/main/admin/user/user.component.{ts,html} - src/app/modules/main/admin/usermaintance/usermaintance.component.{ts,html} - src/app/modules/main/admin/usermaintanceadd/usermaintanceadd.component.{ts,html} - src/app/modules/main/admin/usermaintanceedit/usermaintanceedit.component.{ts,html} - src/app/modules/main/admin/usergrpmaintenance/usergrpmaintenance.component.ts - src/app/modules/main/admin/profile-setting/profile-setting.component.html - Services: src/app/services/admin/usermaintance.service.ts, src/app/services/admin/usergrpmaintaince.service.ts, src/app/services/admin/user-profile.service.ts, src/app/services/admin/user-registration.service.ts - Access types / permissions: - src/app/modules/main/admin/accesstype/accesstype.component.{ts,html} - src/app/services/admin/accesstype.service.ts - Guard: src/app/services/auth_guard.service.ts ### System Administration & Configuration - System parameters, health, logs, connectors, webhooks: - System parameters: src/app/modules/main/admin/systemparameters/systemparameters.component.html; service: src/app/services/admin/sysparameter.service.ts - Health checkup: src/app/services/admin/health-checkup.service.ts - Session logger UI: src/app/modules/main/admin/sessionlogger/sessionlogger.component.html; service: src/app/services/admin/sessionlogger.service.ts - Connectors & mapping: src/app/services/admin/sure-connector.service.ts, src/app/services/admin/connector-mapping.service.ts - Outgoing webhooks: src/app/services/admin/outgoingwebhook.service.ts - Audit reporting: src/app/services/admin/auditreport.service.ts; API: src/app/services/api/audittrail.service.ts - Deployment profile: src/app/services/admin/deploymentprofile.service.ts ### Foundation (FND) and Data Management - Token registry: - src/app/modules/main/fnd/Token_registery/Token_registery.component.{ts,html} - src/app/modules/main/fnd/Token_registery/Token_registery.service.ts - API registry (CRUD + lines): - src/app/modules/main/fnd/apiregistery/apiregistery.component.{ts,html} - src/app/modules/main/fnd/apiregistery/allapiregistery/allapiregistery.component.{ts,html} - src/app/modules/main/fnd/apiregistery/Apiregisteryline/Apiregisteryline.component.{ts,html} - Sequence generator: - src/app/modules/main/fnd/sequencegenarator/sequencegenarator.component.{ts,html} - Extensions: - src/app/modules/main/fnd/extension/* (add/edit/all/components) - Document master: - src/app/modules/main/admin/documentmaster/documentmaster.component.{ts,html} - Data management (bulk import, mapping rules): - Bulk import: src/app/modules/main/datamanagement/bulkimport/**/*.{ts,html} - Mapping rules: src/app/modules/main/datamanagement/mappingrule/**/*.{ts,html} - Services: src/app/services/fnd/bulkimport.service.ts, src/app/services/fnd/datamanagement.service.ts ### Reporting & Dashboards - Report builder and runner (multiple generations): - Builder: src/app/modules/main/builder/report-build/**/*.{ts,html} - Builder v2: src/app/modules/main/builder/report-build2/**/*.{ts,html} - Runner: src/app/modules/main/builder/report-runner/**/*.{ts,html} - Dashboard (new + runner): src/app/modules/main/builder/dashboardnew/**/*, src/app/modules/main/builder/dashboardrunner/**/* - Services: src/app/services/api/report-builder.service.ts, src/app/services/builder/*.ts ### Query (Super Admin) - Query management: - src/app/modules/main/superadmin/query/**/*.{ts,html} - src/app/modules/main/superadmin/queryadd/queryadd.component.ts - src/app/modules/main/superadmin/queryedit/queryedit.component.ts - API: src/app/services/api/query-runner.service.ts ### Shared Utilities - Pipes: - src/app/pipes/*.ts (e.g., search-filter.pipe.ts, thai-date*.pipe.ts, time-pipe.pipe.ts, sanitize.pipe.ts) - Notifications/Alerts services: - src/app/services/notification.service.ts, src/app/services/alerts.service.ts, src/app/services/fnd/alerts.service.ts - CSV/Excel helpers: - src/app/services/csv.service.ts, src/app/services/excel.service.ts - i18n assets: - src/assets/i18n/en.json, src/assets/i18n/hi.json - App-level routing + module: - src/app/app-routing.module.ts - src/app/app.module.ts --- ## Quick Start (recap) 1. npm install -g @angular/cli 2. npm install 3. ng serve This project already includes: authentication flow, guarded routes, admin menus and access, user and group management, system configuration screens, FND (token/api registry, sequences, extensions), data management (bulk import, mapping rules), reporting and dashboards, super-admin queries, shared utilities (pipes, alerts, CSV/Excel), i18n scaffolding, and a Clarity-based layout and navigation.