Wiki Spaces
Documentation
Projects
Resources
Get Help from Others
Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack
This page will be used to document the progress of the currently active project to manage and develop JavaScript tooling for OpenMRS.
Project Lead | Pascal Brandt |
Contributors | All feature requests and code contributions welcome! |
This project aims to curate and harmonise the JavaScript work being done in the OpenMRS community and facilitate the development of broadly useful tooling.
The following projects exist in the OpenMRS JavaScript ecosystem.
The JavaScripts projects below are supported by the OpenMRS community and are intended to be general enough to be usable by anyone wanting to build OpenMRS applications using JavaScript. You can also us the OpenMRS SDK to create and deploy an OpenMRS Open Web App.
The Open Web Apps Module allows developers to build JavaScript/HTML/CSS-only apps that interact with the OpenMRS REST API and have them be statically served using the OpenMRS web application.
The OpenMRS Open Web App Yeoman Generator is able to scaffold out the required boilerplate code and build tooling for an OpenMRS Open Web App. This allows you to get up and running almost instantaneously with building pure JavaScript/HTML/CSS applications on top of the OpenMRS platform.
The openmrs.js JavaScript library aims to be a JavaScript wrapper to the REST API with added functionality for common tasks.
Many community members have already built excellent applications using JavaScript on top of the OpenMRS platform. Please feel free to add your work to this list:
OpenMRS uses the following JavaScript style guides.
Right now we are using ESLint for linting, since it's widely used, the project is highly active and it's very configurable. We recommend that you configure the build to fail on linting errors in order to keep code consistent and of high quality.
If you are using plain JS, React or some other framework, we recommend using the Airbnb JavaScript style guide. Airbnb provides ESLint configs for ES2015, as well as ES5 (see eslint-config-angular/legacy).
See the openmrs.js repo for an example usage in an ES2015 environement.
If you are developing an AngularJS application, please use John Papa's Angular Style Guide.
This ESLint plugin implements the recommended style guide. See the concept dictionary OWA repo for an example of how to use the plugin with Gulp.
The following links may be useful for JavaScript application developers.