[GSoC 2014]OpenMRS-ID Project Proposal

Abstract

This project proposal is mine for GSoC 2014. It is about to improve the current OpenMRS-ID module.

The current one is built with OpenLDAP and restricted to its limit. We can't store flexible user information on the current one. Also, the current one didn't organized the code very well.

The new module will provide a more extendable solution for storing user information, with a better organized structure, like MVC. In addition, it will provide a way to integrate the data from different website, like Facebook, Google, Twitter, etc, and user might log in with these accounts. Meanwhile it should provide APIs for outside access of data, and probably a simple website for query purpose.

 

Goals

  • Refactor the code, decouple functionality.
  • Beautify the code, use better code style for it.
  • Provide more extendable user data model.
  • Build REST and OAuth-backend API.
  • Integrate with accounts with other website.
  • Maybe add some new features.

 

Timeline

  1. March~April: Get familiar with the OpenMRS-ID Platform by solving the ticket, and continue to learn things about Node.js, express and LDAP.
  2. April~May(Before official starting): Continue to learn. Make some contributions and try to design a good architecture, maybe a data model as well. And test if they are feasible.
  3. 19th May: The official commencement.
  4. 1st-3rd Week: Refactor the project, build mock-up for database related operations first.
  5. 4th Week: Fully test it, begin to build the new db operation.
  6. 23rd June: Official mid-term evaluation.
  7. 5th-6th Week: Build the database module then, and assembly it with main frame.
  8. 7th-8th Week: Implement the RESTful APIs, build a simple viewing webpage for direct query.
  9. 9th-10th Week: Try to integrate user info from other website, like, Twitter, Facebook, Google+, etc.
  10. 11th Week: Add some other fancy features, and put the project under strict test.
  11. 18th Aug: Official 'pencil down date', try to complete every doc and test.
  12. 22nd AugOfficial final evaluation.

Progress

Will update this field weekly, and post articles on my blog.

  • March: Learning stuffs about Node.js async design pattern, solving my net connection problems. 
  • April: Getting familiar with OpenMRS-ID. 
    • Solve the ticket about desk.com.
    • March on, fix problems of my local site.
    • Learn stuff about refactor and architecture design.
  • May: Start working
    • Get my blog settled http://pages.plypy.com
    • Have a look on Node OpenIDConnect
    • Reorganize routes