Project - OpenMRS Standalone GSOC2025

Hey , I am Sanyam and i want to contribute in OpenMRS Standalone project. Can someone please help me how can i start?

Hey @sanyamjain09, you can start from here.

Also checkout this video for GSoC related doubts.

1 Like

thanks @sanyamjain09 for bring this up, I also have an interest in this project and for a better understanding in Leveraging Docker have done some initial work on this and calling out some guidelines on how this project targets can be attained

In this project simply have leveraged Docker compose and below are steps to use


How to Use

  1. Download and unzip openmrs-standalone-run.zip.
  2. Double-click start-openmrs.bat (Windows) or start-openmrs.sh (MacOS/Linux).
  3. For Mac users: Open a terminal in the unzipped folder and run the following command to make the script executable:

chmod +x start-openmrs.sh chmod +x stop-openmrs.sh

  1. If Docker isn’t installed, the script will attempt to install it (follow prompts).
  2. Select an OpenMRS version from the menu:
    1. Platform 2.6.14
    1. Platform 2.7.0
    1. Reference Application 2.12.0
    1. Reference Application 2.13.0
    1. O3 3.0.0-beta.20
    1. O3 3.0.0-SNAPSHOT
  1. Wait for OpenMRS to start (first run may take a few minutes to download images).
  2. Open your browser and go to http://localhost:8080/openmrs.
  3. Log in with admin/Admin123 (default credentials).
  4. To stop, press Ctrl+C in the terminal or run stop-openmrs.bat/stop-openmrs.sh.

cc @ibacher @dkayiwa could this be the desired approach however to note in the project language outlined, there is Java

All we want is for the end user to download the standalone, extract it, and then double click to run. The only requirement is having Java installed on their computer.

According to @ibacher here

Could using H2 + Spring Boot be ideal for this project?

Comparison Table: Old vs. New Standalone

Feature Old Standalone (MXJ) New Standalone (H2 + Spring Boot)
Database Embedded MySQL (MXJ) Embedded H2
Application Server Embedded Tomcat Embedded Tomcat (via Spring Boot)
ARM Support No Yes
Version Selection of Openmrs (Platform,RefApp,03) Single version Multiple versions via script
Requirements Java only Java only
Maintenance Discontinued, unsupported Current, community-supported

The advantage that we had with a standalone based on MySQL/MariaDB database was that for those who started with the standalone and then migrated to the enterprise version, the data migration was obvious. :wink:

1 Like

Interesting… am thinking creating a migration script to export data to MySQL/MariaDB format could work however this could introduce a new requirement of MySQL locally to be installed on the PC or server doing the migration

Is that because we are not able to have a standalone based on MySQL/MariaDB?

Not really, we can use MariaDB4j since MySQL Connector/MXJ was discontinued and not supported since 2011 according to there dependency https://mvnrepository.com/artifact/mysql/mysql-connector-mxj

However with arm64 (Mac m1, Mac m2s) creating a jar compatible files may need some tweaks get a look a problem caused here java - Is it possible to get MariaDB4J to work on an M1 Mac? - Stack Overflow

Could there be a best approach more than this?

That is part of whoever takes this up, will have to investigate and look for a solution.

1 Like

Still concerning this project … Is it based on improving the existing or its gonna require a new repo?

just came across OpenMRS Standalone - Issues - OpenMRS Issues and wondering in the meantime if its about modifying this existing repo … i can be contributing to some tasks here and getting familiar with the codebase

cc @dkayiwa

It is going to be based on the existing repository. Starting from the work done here: STAND-109 Replace the embedded mysql with mariadb4j by k4pran · Pull Request #66 · openmrs/openmrs-standalone · GitHub

1 Like