High Level Design
Last updated
Was this helpful?
Last updated
Was this helpful?
This document outlines the architecture for the Sandbox UI host application and its associated remote applications. The architecture utilizes a micro frontend approach, where multiple independently deployable remote applications are integrated into a single host application.
Host App: Sandbox UI
Responsibilities:
Handles tenant information and routing.
Serves as the central point for integrating remote applications.
Key Features:
Obtains tenant information, which is used across various remote applications.
Manages routing between different remote applications.
Remote Applications
Each remote application serves a specific domain and can be developed, deployed, and maintained independently.
User Remote App
Responsibilities:
Handles user-related functionalities such as signup, signin, onboarding, landing pages, and application management.
Key Features:
Interfaces with the host app to receive tenant information.
Manages user sessions and authentication processes.
Account Management Remote App
Responsibilities:
Manages tenants, users, and authentication (AuthN) & authorization (AuthZ).
Key Features:
Provides administrative functionalities for tenant and user management.
Integrates with user authentication services.
Data Management Remote App
Responsibilities:
Manages data for various applications.
Key Features:
Handles CRUD operations for application data.
Ensures data consistency and availability across the platform.
Workbench Remote App
Responsibilities:
Manages Master Data Management System (MDMS), boundaries, and localization.
Key Features:
Facilitates the configuration and management of master data.
Supports localization for different regions.
Client Applications Remote App
Responsibilities:
Handles various client-specific applications such as HCM (Human Capital Management), PGR (Public Grievance Redressal), and HRMS (Human Resource Management System).
Key Features:
Provides specialized functionalities for different client requirements.
Integrates with other remote apps for data and user management.
CSS and UI Components
Responsibilities:
Provides a consistent look and feel across all applications.
Ensures reusable components for UI consistency.
Key Features:
Maintains a component library (Digit UI Components v0.2) for use across remote applications.
Centralized CSS management for styling consistency.
Tenant Management:
The host app retrieves and manages tenant information, which is shared with remote applications to ensure consistent tenant-specific behaviour.
Routing:
The host app handles routing between different remote applications, ensuring a seamless user experience.
Inter-App Communication:
Remote applications communicate with each other and the host app through defined APIs and shared services.
Component Sharing:
Shared UI components and CSS are utilized across remote applications to maintain a cohesive design and improve development efficiency.