Piggybacking on our initial thoughts on AngularJS moveout, we started to talk about Bahmni@next meets OMRS 3x a year ago and acquired some great experience to formulate our opinion. Here is a quick summary…
Before we talk next steps below are some of the core web architecture qualities we would want to respect as we facelift Bahmni’s frontend
- Cleanly componentize and promote reuse (Atomic Design)
- Ensure app-shell or stitching layer is super lightweight
- Leverage micro-frontends but avoid anarchy
- Build separate independent apps (physically) based on target users e.g. Registration, Lab entry etc
- Consider Performance, Configurability, Localisation and Responsiveness as first class citizen (note: other NFR’s such as security, maintainability etc are equally important “in-general” for overall Bahmni)
Next steps
1. Support current Bahmni AngularJS frontend as-is
- Respond to any defects or AngularJS issues as and when they arrive.
- Fix CSS issues on features that are consumed on mobile devices and make it more responsive (reference)
2. Build new incremental features on top of current Bahmni using
- Carbon Design system and adhere to OMRS 3.x style guide as much possible (but not mandatory)
- Lightweight app-shell (build or inherit)
- ReactJS and Typescript
Overtime evolve Bahmni Component Library following Atomic Design and ensure these features/components are easily reusable-compatible on any OMRS 3.x distros
3. While building separate apps, continue to explore opportunities to collaborate and leverage OMRS 3.x core wherever possible (otherwise follow #2 above)
@angshuonline @gsluthra @grace @dkayiwa @binduak @jennifer @jdick