uMappin: OSM data based social network
One of the main difficulties new users have to face when joining the OpenStreetMap project is the difficulty of knowing how to make small edits or tasks. Most editors show very general options and editing areas where there is a large dataset can be very complicated. Therefore, as part of our Master's in Development and Integration of Software Solutions at the University of Deusto we are working on a gamificated social network called “uMappin” to create, validate and correct OSM data through small tasks and games.
uMappin is a full social network with users, posts, followers, etc. which also has a mapping and geospatial component. Users will have access to small games with maps, geographic data validation activities, route creation and geolocated photos upload and sharing.
The social network, will be consumed as a REST service (each resource is accessible through an URI) and it has an API for facilitating different device applications. The project, is being built with Play framework 2.1.0 developed for Java and Scala following the MVC paradigm and by integrating it with other frameworks such as Backbone.js used for the client side application.
For data persistence, there are two different database systems. On one hand, a NoSQL MongoDB in which all non geospatial information is stored like users, posts, followers, achievements... and on the other hand, the geographic information system consists of a PostGIS database for spatial data and mapping information management such as, OSM features, routes, photo locations... The purpose of the spatial database is to house the information generated by users for others to validate through games and activities until it is optimal for uploading to OSM.
To facilitate data editing, we have tried three main javascript interactive maps libraries: OpenLayers, Leaflet and Id Editor. After several tests we decided to use and extend OpenLayers which will only show the relevant data to carry out each activity. In order to integrate it with PostGIS and keep all the necessary data OSM features need when being uploaded, the server itself acts as a middleware and makes all the translations from each system to the other.
The project’s progress can be followed through http://130.206.138.182/ and the code is available at http://130.206.138.182/redmine with user stateofthemap and password stateofthemap.