Primary Mentor | |
Backup Mentor | TBD |
Assigned to | TBD |
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
Prevent javascript injections (including when displaying user-uploaded images)
Extra Credit
All external/user URLs should have “rel=nofollow” (https://www.w3schools.com/tags/att_a_rel.asp)
Allow admins to access to disable/delete anything suspicious
Notify admins when new site is added (including image)