Automation of create-openmrs-owa with React Components

Primary mentor

Jude Niroshan

Backup mentor

Assigned to


DRY and all these new ReactJS OWA - This thread describes the inspiration behind openmrs-react-components.

With all these new OWA based on the OpenMRS platform, there is need to make the process DRY and also make it easier to Setup openmrs-react-components. Also to Showcase the work already done in this library, make it easier to understand the Usage of the work already done & so as to reduce development times of new OWAs.

Some basic level components, such as a header, footer, some dashboards (registration, summary, navigation, forms, …) should be created along with a create-openmrs-owa app (like create-react-app from Facebook), and then a new user can start to work from that state to build their requirements as an OWA. We already built some components on React, and need to improve those components and initiate this automation.

Dev Resources


  • Excellent JavaScript skills (React), HTML, CSS
  • Automation techniques
  • Soft skills to interact with the community in order to gather requirements and technical feedback

Skills Needed

  • JavaScript (React, Redux, Thunk)
  • REST


  • Add more features to react-components
    • Adding form components to react component
    • Adding Search & Autocomplete component
    • Upload/Paste/Drag & Drop support component
  • Create a common OpenMRS OWA using react components
    • It should contain the common header component, and welcome page
    • One Page with all form components
    • One Page with search and Autocomplete components
    • One Page with all style guides which we used in react-components
    • One page as Help Page template
  • Automate this work, and have 2 Scripts:
    • Minimal Configuration Script: To generate a minimalistic template which comes with all the dependencies of openmrs-react-components properly configured.
    • Example Template Script: To generate a template which serves as showcase for components in openmrs-react-components library.

Extra Credit

  • Add this project to npm which simply allows users to install and use 'create-openmrs-owa' through npm modules.
  • Add Travis-CI the above created npm package, so that package is always synced with latest changes in the automation script repository.

Demo Videos

  1. Mid-Term Evaluation - Talk Thread

  2. Final - Talk Thread