Student: Shekhar Reddy
Mentors: Jan Flowers, Pascal Brandt
Project Wiki : Atlas 3.0
The OpenMRS Atlas is a website on which members of the OpenMRS Community can register their site(s). The Atlas serves not only to let the world know about your site but also help sites to discover other implementations in their region.
About Atlas 3.0
The technologies used here are outdated which makes the code more complex, So the community decided to rewrite the Atlas server which provides truly RESTful API using Node.js. Atlas 3.0 is the server side code for OpenMRS-Atlas which presents simple RESTful API written in NodeJS.
SUMMARY OF THE WORK DONE
Now the server side code is RESTful which serves the endpoints for the resources (markersites, distributions).
Link for the corresponding code of all the routes is here.
Authenticating the Atlas.
I have explained more about authentication of an app against OpenMRS ID in my blog. I have to roll out my own library which encodes and decodes the multipass token which is sent by OpeMRS ID through the URL
Links : BlogPost 1, Blog Post 2, Code for authentication. atlas-node-multipass Library
Changes to the templates in the frontend and BUGS
Since the Atlas server code is written in PHP Laravel framework which uses Blade template engine in the front-end code to render the GoogleMapAPI so the code was a mix of PHP and HTML. I refactored it replacing blade.php files with the EJS template engine.
Links: Blogpost, Code, PRs
I have done documentation for the code I have written explaining the structure of code so that in future if anyone who takes up this could easily understand the code.
Link : Wiki
Since this project is functionally same as openmrs-contrib-atlas but the code structure and technologies are different so I created a new repo and committed all the code there.
During Authenticating Atlas, I didn’t install the openmrs ID locally as I felt that would kill my time so I rolled out my own MockID in Node which serves the exact purpose of OpenMRSID.
Project GitHub Repo : Link and commits(all the commits included)
Auth Library : Link
Atlas-mockID-node : Link
PRs for frontend : Link
All the Blog Posts: Link
Talk Thread: Link
What is yet to be done for the release
Here are a few things which I am currently working on after which the project will be ready to RELEASE!!
- Accept the Pings from the module.
- RSS feed.
- Admin Interface.
I am planning to complete the above in a week or two and make it ready for the release.
Useful Resources and Links:
I have updated the project README.md in a great detail with all the relevant links
Throughout the summer, I have learned a lot of new technologies like NodeJS, Express and this is not possible without my mentors and the active community members. I feel really blessed to have such responsive mentors who are always active on forums.
I express my deep regards to all of you. In the coming days, I will contribute to this project and successfully release it and I am Leading the daily scrum meets on IRC!!
Shekhar Reddy 🙂