Skip to Content
DocsPrerequisite knowledge

Prerequisite knowledge

Before jumping into building with O3, you should be familiar with HTML, CSS, and JavaScript. If you’re totally new to frontend development, it’s especially important that you develop a good grasp of the fundamentals. Below is a list of the technologies we use in O3 and some recommended resources to learn them.

HTML & CSS

A solid understanding of HTML and CSS fundamentals is essential for frontend development. Here are some recommended resources:

JavaScript

Knowing JavaScript is a prerequisite to everything else. We recommend going through the following resources:

React

The official docs  are a great way to get acquainted with React. Don’t gloss over the fundamentals ! Having a solid understanding of its core concepts is very important in helping you learn how to develop high-quality frontend modules in O3. We also recommend going through the following resources:

TypeScript

Most of our code is written in TypeScript. We recommend going through the following resources:

JavaScript tooling

  • Yarn  and Corepack  - many OpenMRS repos use Yarn as the package manager and pin the exact Yarn version in the packageManager field of package.json. Run corepack enable once so Node can activate the pinned Yarn version for each repo.
  • turbo  - we use turbo to run scripts during local development and our continuous integration processes.
  • swc  - we use SWC to compile our JavaScript and TypeScript code into a format all major browsers support.
  • Rspack  - most current O3 frontend modules use Rspack to bundle code for local development and production.
  • webpack  - O3’s build tooling still supports Webpack-compatible configuration, and a few legacy modules still use Webpack directly. You will mostly encounter Webpack concepts through Module Federation, loader configuration, and older frontend modules.

Git

It is imperative that you keep your code in a version control system. OpenMRS uses Git . You should know the basics of using Git and GitHub. Great learning resources include:

OpenMRS APIs and data model

OpenMRS provides APIs the frontend uses to request data. We recommend getting familiar with these APIs and the OpenMRS data model. Find the relevant links below:

Next steps

Ready to jump in? Start with the Core concepts to understand how O3 is structured.

Last updated on