Skip to main content

GSoC 2017 - summary of the 1st phase

The development of this project is made by David Kocich (mentored by Ilya Zverik and Polyglot) within the Google Summer of Code 2017. This blog is going to describe further progress and improvements.

Before the official start of the project, I was learning more about the OSM data model, public transport editing/validation with JOSM and PT assistant. I choose to use Angular 2, Leaflet and Webpack to create an application and all source codes are available on Github/DKocich. Development version of the app is available online too (

During the first phase, my work was more experimental and some parts of the app still don't work how they should so there are still plenty of fixes and optimisation to be done later. Some of the changes made during the 1st phase are:

30.5. - 4.6.
- experimenting with Angular/Webpack, adjustments of settings required for automatic building, testing and deployment

5.6. - 11.6.
- progress on downloading functionality which requests OSM data from Overpass API; basic filtering and styling of OSM elements; adding of pop-ups with information about data

12.6. - 18.6.
- added authorization for users with OpenStreetMap accounts using OsmLab/OsmAuth
- functionality to highlight separate routes by its stops or all routes going through some specific node were added

19.6. - 25.6.
- basic editing functions (prototyping of undo/redo history), editing of element's tags

26.6. - 2.7.
- further improvement of editing logic; fixing of data uploading using OSM API v0.6 and authentication; JSON to XML changeset transformation


Popular posts from this blog

Second phase

5.7. - 9.7.
- during this week I enabled possibility to upload changes to the OSM production server and it was working fine and I created first changeset.
- downloading of route masters was added and user can browse between route's variants.
- various small fixes (more basemap layers; UI styling; some tooltips on layers; highlighting of downloaded stop areas)

10.7. - 16.7.
- the latest work concentrated mainly on the refactoring of downloading functionality while currently chosen approach was downloading a big amount of data at the start of the application which caused some trouble mainly related with loading speed. New approach downloads just node elements (stops, platforms) and everything else (relations, master rel., stop areas) are downloaded after it is selected somewhere in the application. This makes the application faster at the beginning but sometimes also causes some problems with API which don't like when it has to respond to too many requests in a short period of …