Bahmni / openmrs-module-ipd-frontend

A react micro-frontend to be loaded by Bahmni-frontend for In-Patient Department modules

Home Page:https://bahmni.atlassian.net/wiki/spaces/BAH/pages/3221946369/In-Patient+Features+IPD+in+Bahmni+-+Active+Development

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IPD frontend for OpenMRS

A react micro-frontend to be loaded by Bahmni frontend for In Patient Department modules

Architecture

This micro-frontend is built using Webpack's ModuleFederation plugin. Due to constraints on the Bahmni side of things, the webpack.config.js contains 2 separate configurations, one for the federated module and the other for local development.

Entries

Currently, one component is exposed as an entry for the federated module (src/entries/Dashboard.jsx). Future entries should be added to src/entries/ folder and then exposed using the exposes: {...} key in the ModuleFederationPlugin config of webpack.config.js.

Sandboxed development

The following command loads the src/entries/Dashboard.jsx in a sandboxed view for local development. This view is fed with dummy data which can be modified in src/index.js

yarn dev:sandbox

Integrated development

Running the following builds and watches the dist/federation/ folder which can be served by an apache container for access by bahmni.

yarn dev:integrated

This builds the remoteEntry.js file which exposes the entries as specified in the ModuleFederationPlugin config

About

A react micro-frontend to be loaded by Bahmni-frontend for In-Patient Department modules

https://bahmni.atlassian.net/wiki/spaces/BAH/pages/3221946369/In-Patient+Features+IPD+in+Bahmni+-+Active+Development

License:GNU Affero General Public License v3.0


Languages

Language:JavaScript 95.9%Language:SCSS 4.1%Language:HTML 0.0%Language:Dockerfile 0.0%Language:Shell 0.0%