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 (http://osm-pt.herokuapp.com).

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

Comments

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 …

Final phase

GSOC 2017 is quickly coming to an end and here is the final wrap-up about the development progress:

1.8. - 13. 8.
- adjustment of the route browser view (new icons symbolizing status of a route - if it was fully downloaded already; if it was checked for the possible existence of master relation)
- adjust master variants view (improved logic to enable the view of route variants)
- creation of new routes from route browser's window (new button was added) + editing steps undo/redo of new routes
- it is now possible to change members in all routes (both new and existing) with a new button in route browser's window. When the "members editing" mode is enabled, the user can click (toggle) membership of any node element in the map. All route's members are highlighted with cyan circle marker...
- various fixes - e.g. I decided to add strict type specifications lint rule because it starts to be helpful with the growing amount of code...

14.8. - 20.8.
- I added more satelli…