Architecture and Design
Workspace Architecture
AASPortal is a monorepo using npm workspaces with the following distinct packages:

For detailed information about each workspace, see the Workspace Documentation.
AASPortal (Frontend)
aas-portal is an Angular-based web application for visualizing and managing Asset Administration Shells.
Key Technologies:
Angular 20.x: Modern reactive framework with signals support
NgRx: State management for predictable application state
Bootstrap 5: Responsive UI with ng-bootstrap components
Chart.js: Data visualization capabilities
i18n: Multi-language support via ngx-translate
Architecture:
Component-based architecture with lazy loading
Reactive state management with NgRx Store
OnPush change detection for performance
Service layer for API communication
AASNode (Backend)
aas-node is a Node.js/Express.js backend server that provides a unified REST API for accessing Asset Administration Shells from multiple sources.
Key Technologies:
Express.js: Fast, minimalist web framework
JWT (jsonwebtoken): Token-based authentication (HS256/RS256)
OpenAPI/Swagger: Auto-generated API documentation via TSOA and swagger-ui-express
node-opcua: OPC UA server connectivity for industrial assets
MongoDB: User storage
WebDAV Client: Remote file system access
Features:
Multi-source AAS providers (file system, OPC UA, AASX Server, AAS Registry)
Background scanning and indexing of AAS containers
Real-time data subscriptions
Template management for AAS creation
AASX package handling via aas-package library
AASServer
aas-server is a standalone AAS repository server with an IDTA Part 2 compliant API.
Key Technologies:
Express.js: Web framework
OpenAPI/Swagger: Standards-compliant API documentation via TSOA
aas-package: AASX file handling
Features:
IDTA specification Part 2 compliant REST API
Asset Administration Shell repository
Submodel repository
Concept description repository