OpenMRS ID v2.1 Platform Improvements

Primary mentor

Robby O'Connor

Backup mentor

Elliott Williams

GSoC student

Weihua Cheung

 

Abstract

OpenMRS ID is the user account management system that underlies all services on OpenMRS.org. It provides single-sign-on access to the Wiki, OpenMRS Talk, JIRA, the Modules directory, and other services. It also publishes the ID Dashboard, a frontend interface where users can sign up for an ID and modify their profile information.

To allow us to do more with OpenMRS ID, we're continually trying to add features to the platform. This project will tackle some of the new features and ideas we have for OpenMRS ID.

Requirements

  • Frontend JavaScript and backend Node.js experience
  • Knowledge of REST API design and usage
  • Familiarity with MongoDB, LDAP a plus

Project Champions

Objectives (tentative)

Note about objectives: You are not expected to complete all of these in the course of a summer project. In your application, please indicate which objectives you'd like to work on. If you want to work on something that is not listed here and you'd like to work on it, be as detailed as humanly possible in your proposal as to how you will implement it. Ask questions early! 

  • Support two-factor authentication for OAuth-based sign ins
  • Build a REST API for working with user profile data
  • Modify the backend datastore to use keystone.js, to provide OpenMRS ID administrators with a better administration tool 
  • Migrate legacy MySQL-based data models used in the Dashboard to MongoDB/mongoose
  • Implement 3rd-party sign in and profile creation from Google, Facebook, GitHub, etc.
  • Investigate rewriting all JS files using either ES6 or Coffeescript (see js2coffee or the node module of js2coffee)

Resources