# Bahmni@next way forward

**URL:** https://talk.openmrs.org/t/bahmni-next-way-forward/38244
**Category:** Bahmni
**Tags:** 3x, micro-frontends, bahmni-next, bahmni, o3
**Created:** [January 5, 2023, 1:50pm UTC](https://talk.openmrs.org/t/bahmni-next-way-forward/38244 "2023-01-05T13:50:16Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![n0man](https://talk.openmrs.org/user_avatar/talk.openmrs.org/n0man/32/15683_2.png) [@n0man](https://talk.openmrs.org/u/n0man)
#### Post date: [January 5, 2023, 1:50pm UTC](https://talk.openmrs.org/t/bahmni-next-way-forward/38244/1 "2023-01-05T13:50:16Z")

</div>

Piggybacking on our [initial thoughts on AngularJS moveout](https://talk.openmrs.org/t/moving-bahmni-codebase-from-angularjs-to-react/32397), we started to talk about [Bahmni@next meets OMRS 3x](https://talk.openmrs.org/t/bahmni-next-meets-openmrs-3-0/35170) a year ago and acquired some great experience to formulate our opinion. Here is a quick summary…

 ![bahmninext](https://talk.openmrs.org/uploads/default/original/3X/f/8/f8234af0551d5f2ead123f45624b35d4b05dec67.png)

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](https://bradfrost.com/blog/post/atomic-web-design/))
- Ensure app-shell or stitching layer is **super lightweight**
- Leverage **micro-frontends** but avoid [anarchy](https://www.thoughtworks.com/en-in/radar/techniques/micro-frontend-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](https://bahmni.atlassian.net/wiki/spaces/BAH/pages/3124428825/Doctor+Mobile+Adoption))

**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](https://github.com/Bahmni/bahmni-frontend/tree/main/packages/bahmni-mf-app-shell) or [inherit](https://webpack.js.org/concepts/module-federation/))
- ReactJS and Typescript

      Overtime evolve **Bahmni Component Library** following [Atomic Design](https://bradfrost.com/blog/post/atomic-web-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

---

<div class="post-metadata">

### Author: ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)
#### Post date: [January 8, 2023, 11:31am UTC](https://talk.openmrs.org/t/bahmni-next-way-forward/38244/2 "2023-01-08T11:31:31Z")

</div>

> [@n0man](#):
>
> Overtime evolve **Bahmni Component Library** following [Atomic Design](https://bradfrost.com/blog/post/atomic-web-design/) and ensure these features/components are easily reusable-compatible on any OMRS 3.x distros

I love this very much! 🙂
