A CARE plugin that embeds an Excalidraw whiteboard into CARE, letting clinicians sketch and annotate diagrams directly within patient workflows.
Built as a CARE micro-frontend using Module Federation. The plugin exposes a
manifestthat CARE loads at runtime from a remoteremoteEntry.js.
- React 19 + TypeScript
- Vite 6 with
@originjs/vite-plugin-federation @excalidraw/excalidraw- Tailwind CSS v4
raviger(routing) andreact-i18next(localization) — shared with the CARE host
Clone the repository and install dependencies:
git clone https://github.com/ohcnetwork/care_excalidraw_fe
cd care_excalidraw_fe
npm installStart the dev server (builds the federated bundle in watch mode and serves a preview):
npm run devThe plugin is served at http://localhost:4173, with the federation entry at
http://localhost:4173/assets/remoteEntry.js.
Make sure you have CARE running locally, then:
-
Open the CARE Admin Dashboard (usually
http://localhost:4000/admin). -
Go to the Apps section and click Add New Config.
-
Add a slug and set the following as the Meta:
{ "url": "http://localhost:4173/assets/remoteEntry.js", "name": "care_excalidraw" } -
Save the configuration and reload CARE.
The
namemust match the federationnameinvite.config.ts(care_excalidraw). Changing one without the other will prevent CARE from resolving the remote module.
This plugin is published in the
CARE Apps Registry as
care_excalidraw. When installing through the App Store, CARE computes the
meta.url from the configured App base URL as
${appBaseUrl}/assets/remoteEntry.js, so you only need to provide the base URL
(e.g. http://localhost:4173 for local development or
https://care-excalidraw.pages.dev for production).
MIT