Getting Started as a Developer

Welcome to OpenMRS! This guide will walk you through the steps to join the OpenMRS community and set up your system for development. You will also find some links to other resources that will help you learn and contribute to the OpenMRS project.

Join the OpenMRS community

OpenMRS is a volunteer based community. We welcome anyone who is willing to learn and contribute. To join the community, follow these steps:

  1. 🪪 Step 1: Create an OpenMRS ID
    Your OpenMRS ID defines your username in the OpenMRS community and provides access to community resources, like this wiki, our issues tracker, and the OpenMRS Talk forums. Follow this link to create your OpenMRS ID.

  2. 🔒 Step 2: Get edit privilege for wiki and issue tracker
    Because of spammers, we must require this extra step before you can edit wiki pages or make any changes to JIRA tickets.
    a. Request access to the OpenMRS Wiki and Issue Tracker by filling this quick form:  OpenMRS HelpDesk.
    b. In the Summary text box, state that you would like to have edit access to wiki and JIRA. Submit the HelpDesk request. We will grant you access as soon as we can, usually within 24-48 hours 

  3. ⚡️ Step 3: Get Involved!

    1. 💬 Join Discussions on our Communication Channels:

      1. Our Community Forum: OpenMRS Talk (e.g. the Ask OpenMRS space is where you can ask questions or search for answers.)

        1. Introduce yourself to the community in the OpenMRS Talk Welcome thread.
          You can learn more about how to use Talk by reading this introduction and FAQ.

      2. Our Slack: for real-time discussions. This is also where you can pose questions or chat with other developers and community members. Click here to sign up for OpenMRS Slack. Or, click here if you already have a OpenMRS Slack account. 

    2. 📆 Join Events:

      1. Check the OpenMRS Calendar for events and team sessions that might interest you.
        In addition to our Slack and OpenMRS Talk forum, we have many regular calls and virtual events to help contributors connect and learn together. These are optional and open for contributors to join. Some calls are weekly check-ins for specific project teams; others are more general. The community calendars are always up-to-date with upcoming calls and events. You can check the calendars in three ways:

      2. Check out the live-updated OpenMRS Calls & Events Calendar here: om.rs/cal

    3. 💪 Work on Projects or Issues:

      1. Available Issues:

        1. Intro or Good-First-Issue tickets that are unassigned are here at this Issue Filter! 🎉

      2. Look for Active Project teams, squads, or topics that might interest you
        Consider joining a team of OpenMRS contributors working together on interesting topics or projects.

        1. Active Squads: See our community Squad Dashboard here.

        2. Active Projects: You can find active Team-Based Projects here.

        3. Available Projects: To find medium-to-big projects that are not yet being worked, see available projects here.

 

If you need help choosing a project that’s right for you, reach out to community[a]openmrs.org 

Learn about developer stages

Based on your experience as an OpenMRS developer, you will be assigned a developer stage, from dev/1 up to dev/5, with increasing responsibilities and privileges.

To learn more, visit OpenMRS Developer Stages.

You can start by earning the /dev/null badge. When you're ready, take the quiz to earn /dev/1.There is no limit on how many times you can take the quiz.

Set up Git on your system

Git and GitHub work together so that the changes you make to the codes are tracked and incorporated correctly into OpenMRS code repositories. Follow the instructions below to sign up to GitHub and install GIt on your system.

  1. Create a GitHub account
    You need to have a GitHub account to contribute to OpenMRS code. 

    1. Go to GitHub Sign Up page, and create a GitHub account.

    2. Add your GitHub username to your account profile in OpenMRS Talk. 

  2. Download and install Git on your computer. 

  3. Learn Git.
    If you don’t already know how to use git, follow the instructions in  Using Git, or Learn Git with Bitbucket. This is especially useful if you join a sprint or choose to share your module (we hope you do).

Set up development environment

For Frontend Developers (React)

For Backend Developers (Java)

To do development work for OpenMRS, you need to configure your system according the instructions below:

  1. Install Java SE 8

  2. Install Maven.

  3. Install and configure IDE. To learn more about setting up and working with your development environment, follow the Step-by-Step Installation for Developers and How To Setup And Use Your IDE

  4. Install OpenMRS SDK, and start an OpenMRS server. (Optional but strongly recommended as this will help you set up your server.)

  5. Optional but recommended: Install Docker.

  6. Create your first OpenMRS module

    1. OpenMRS SDK makes the process of creating and deploying an OpenMRS module very simple. Follow this instruction to create your first OpenMRS module.  

Start contributing! Find where you can help

Now that you’ve successfully set up your development environment, you can start to contribute to OpenMRS. Follow the Contribute as a Developer guide here:

 

Useful OpenMRS resources

OpenMRS wiki is the main resource where the community shares knowledge and documents the development process. Below is a list of wiki pages that can be useful for you to learn more about OpenMRS. 

As a community member, you can help to improve the wiki pages by writing new documentation, updating the existing ones or simply pointing out the errors and issues in the documents. 

 

 

Related pages