Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Primary Mentor

Backup Mentor

Assigned toTBD

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 node 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 our 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 (most importantly, adding LDAP support), and ensuring the application can be deployed and configured by our infrastructure (i.e., using Docker).

Required Skills

  • Nodejs
  • Ability to write and refactor a REST API
  • Familiarity with Docker
  • Basic Javascript and HTML

Objectives

  • Add LDAP support for OpenMRS ID

  • 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

  • Prevent javascript injections (including when displaying user-uploaded images)

Extra Credit

Resources


Infrastructure provided

  • Staging LDAP with users in both atlas-user and atlas-admin groups
  • Staging server (docker host)
  • Bamboo pipeline deploying image to docker hub AND docker image to staging server
  • LDAP credentials
  • SMTP credentials
  • S3 bucket to store - and serve - images (if desired)
  • Backup with current data (atlas 2.1)


  • No labels