This issue tracks the development of a microapp architecture for our Next.js application, envisioned as a Host Container/Portal. The goal is to enable independent, dynamically loaded microapps within the host application.
Requirements:
Host Container/Portal: Next.js application acts as the main application handling core functionalities like authentication, state management, income phone, and microphone access.
Microapp Registry: A central registry for storing, searching, and deploying microapps.
Decentralized Hosting: Microapps can be hosted independently.
Dynamic Loading: Microapps are loaded at runtime within the Next.js host application.
Standard Architecture: A standardized approach for developing and integrating microapps.
Tasks:
[x] #31
Investigate Module Federation for dynamic loading and potential for decentralized hosting.
Consider alternative approaches like custom registry and loader systems.
Evaluate existing libraries and frameworks like Single SPA.
[ ] Design Microapp Registry and Loader: (Future Goal, NOT FOR NOW)
Define the data structure for storing microapp information in the registry.
Develop a system within the Next.js application to interact with the registry.
Implement a loader mechanism to dynamically load microapps at runtime.
[ ] #32
Define a directory structure for microapps.
Establish guidelines for component usage, dependencies, and communication.
Consider using a shared component library for common functionalities.
[ ] Implement Security Measures:
Define authentication and authorization mechanisms for microapps.
Secure communication between the host and microapps.
This issue tracks the development of a microapp architecture for our Next.js application, envisioned as a Host Container/Portal. The goal is to enable independent, dynamically loaded microapps within the host application.
Requirements:
Tasks:
[x] #31
[ ] Design Microapp Registry and Loader: (Future Goal, NOT FOR NOW)
[ ] #32
[ ] Implement Security Measures:
[x] Choose State Management Solution:
[ ] Implement Error Handling and Monitoring:
[ ] (Optional) Define Microapp Communication Protocol:
[ ] (Optional) Develop Microapp Versioning Strategy:
Additional Notes: