PALS
Name: PALS (09/2013-04/2014) Tech: PHP, PostGIS, Javascript, Node.js, Socket.js, handlebars.js, OpenLayers, JQuery
This project mainly contain two parts: web system and a data tool.
The web system part, is to integrate three components(PAM- a personalized accessibility map, SoNavNet - a social navigation network and PNS - pedestrian navigation service) into one system. The purpose of the new system is to provide a service oriented system which means our system needs to be loosely coupled, and modules should be self-contained.
The integration usually means redesign and lots of rewrite. When we add a new feature into a system, it may affect the whole “work flow”, needless 3 different system (of course they have some overlap and can be integrated. it is kidding to integrate a CRM system and Minecraft).
Architecture: Migrate data to PostgreGIS, create a data layer, separate all core functionalities from UI and crate HTTP APIs, a event engine and of course a Rich-front-end.
The event engine is written with Node.Js, it will detect the change to database and then send event notification to all related modules. And of course the most exciting part is it will give the Front-End the ability of real time update.
Data tool: It is a tool that enable import/export to/from our system, supported formate are CSV, Shapefile(ArcGIS) and Excel. The key feature is the tool can dynamic generate models(classes) for different entities.