Background

The OpenMRS Atlas provides a voluntary registry of OpenMRS implementations all over the world. The server code was written using PHP and has been adapted a few times over the past decade. During GSoC 2016, a new version of the Atlas server code was written in nodejs as the Atlas 3.0 Project, but this new, node-based server code was never fully deployed. During 2017, the OpenMRS infrastructure was migrated and updated so all services are deployed using Docker and single-signon was switched to use LDAP. As a result, some of the functionality of the PHP-based Atlas has been lost.

Purpose

The goal of this project is to address the remaining tasks to bring the node-based OpenMRS Atlas into production. This will include some code changes, some additional features (e.g., LDAP support), and dockerizing the application.

Required Skills

Nodejs

Ability to write and refactor a REST API

Basic Javascript and HTML

Objectives

Add LDAP support for OpenMRS ID

Dockerize the application

All features, including basic administrative functions should be performed through REST API calls

Support downloadable images (help users create an image for a slide deck without creating a burden on the server)

Refactor marker images to be uploaded (confirm type, limit size) so they can be served securely

6 Comments

While I cannot be a 'full' mentor (on nodejs and rest api), I can certainly help with any infra questions (docker, deployment, CI, testing servers, requirements). I'd love to get Atlas to 3.1 deployed.

Our ldap server is not accessible from outside our infrastructure, but I'm happy to create a new machine for you to deploy Atlas 3.1 and a copy of our LDAP. I can create them, but I need to know one or two weeks before hand.

And I have these configs on crowd (some sort of intermediate between jira/confluence and ldap):

I do assume there will be two types of users in atlas: one that can only edit/delete their own location, and admin one that can edit or delete any location. Admins should be part of ldap group 'atlas-admin'. But that would be extra

Atlas-stg has now variables for SMTP and LDAP. The docker-compose has to be changed to take advantage of that. I suppose you want to change the port and the healthcheck as soon as the new image is available.

I moved the external repository (with the node code) to the branch 3.x on the same repository.

Don't worry, my git-fu is strong enough to be cool with that, and history wasn't and won't be lost. When we decide to do the cut over, we'll use git reset --hard in master, and everything will be fine.