Piral OpenMRS Sample
⚡ This is a playground repository for demonstration purposes. It works against a publicly available instance of OpenMRS.
You can visit this demo at openmrs.samples.piral.cloud/.
To keep things simple this repository contains multiple folders that should / could be treated as individual repositories. Its not a monorepo, as all these folders come with their own package.json / infrastructure.
Go into the app-shell
directory and install the dependencies:
cd app-shell
npm i
Now you are ready to start the app shell:
npm start
The app shell works against the default feed - you can replace or change this, of course.
Easily scaffold a new microfrontend in directory (e.g., "esm-sample"):
npm init pilet --registry https://smapiot.pkgs.visualstudio.com/_packaging/piral/npm/registry/ --source @openmrs/app-shell -y
Since the above is a private feed, you'd potentially cannot do it. Instead, do the following.
If you'd like to call the microfrontend "esm-sample", then run in the root folder:
./scaffold.sh sample
This will create a new folder "esm-sample" with the microfrontend.
Start the new microfrontend from the directory:
npm start
To publish the microfrontend, run from the root:
./publish.sh sample
where sample is the name chosen for it.
It shows how you can leverage Piral to efficiently establish communication patterns between microfrontends without impacting the whole application. Instead, Piral's loose coupling and app-shell distributed architecture allows every microfrontend to be isolated and individual where needed and open, as well as communicative when necessary.
This approach enables auto discovery, configurability, extensibility, and consistency.
Licensed under MIT. For the code taken from the OpenMRS repositories their individual licenses apply.