High Level Design
Last updated
Last updated
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.
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.