Project Abstract:
The goal of my Google Summer of Code (GSOC) project was to improve the existing editing functionality and add more features to the OpenStreetMap (OSM) Public Transport Editor which was created during GSOC last year. This includes features like semi-automating certain editing tasks, validation highlights, improving the app’s performance and interactive tutorials.
Github:
- My Github profile: https://github.com/anushasingh
- My work in the project’s repository : https://github.com/dkocich/osm-pt-ngx-leaflet/commits?author=anushasingh
Links to MERGED PRs
-
[#209] (https://github.com/dkocich/osm-pt-ngx-leaflet/pull/209), #238 - IndexedDb integration for client side storage using Dexie.js for improving the app’s performance.
-
[#202] (https://github.com/dkocich/osm-pt-ngx-leaflet/pull/202) - Toaster notifications for indicating error/success in fetching of data from Overpass API.
-
[#210] (https://github.com/dkocich/osm-pt-ngx-leaflet/pull/210) - Splitting of the app into two different modes - Beginner/Expert.
-
[#215] (https://github.com/dkocich/osm-pt-ngx-leaflet/pull/215), #219, #221, [#225] (https://github.com/dkocich/osm-pt-ngx-leaflet/pull/225), [#227] (https://github.com/dkocich/osm-pt-ngx-leaflet/pull/227), #229, #233, #236 - Five different modes for highlighting the map by certain rules and allowing quick correction.
-
#224 , [#232] (https://github.com/dkocich/osm-pt-ngx-leaflet/pull/232) Route Creation Wizard to automatically create drafts for new routes and allow modification of the output if required.
-
#231 - Route Master Creation Wizard to automatically create drafts for new route_master and allow modification of the output if required.
-
#228 - Option for viewing references along with route highlight on the map.
-
#235 - Interactive tutorials to guide users through the process of editing data by highlighting specific buttons/tools around the page to recreate several scenarios.
-
#239 - Keyboard shortcuts for making quicker edits.
Detailed description of work done in each phase:
- Phase 1: https://medium.com/@anushasingh996/google-summer-of-code-2018-with-openstreetmap-phase-1-ab3df152d049
- Phase 2: https://medium.com/@anushasingh996/google-summer-of-code-2018-with-openstreetmap-phase-2-421c4f49cc1d
- Phase 3: https://medium.com/@anushasingh996/google-summer-of-code-with-openstreetmap-phase-3-f3802936e18d
Future Work:
There is plenty of scope for improvement and adding new features in the application. Some possible areas are given below:
- Working with rendering and editing of OSM ways in the app (these were previously removed because of performance problems in large cities but are required for more complex editing of stops and routes)
- Writing tests using Cypress or other tools
- Possible integration of service workers to enhance app’s performance
- Improving the current approach of redoing/undoing edit steps
- Making the app fully responsive in order to work smoothly on different devices
- Improving the route creation wizard tool by using certain routing services which will guess OSM ways for routes
- Enabling the adding and editing of OSM stops areas
- Mapillary integration
- Future code adjustments for possible PTv3 mapping scheme
Final Note:
I would like to thank Google and OpenStreetMap for giving me this great opportunity. It was a great learning experience.
Discussion
Comment from PlaneMad on 14 August 2018 at 21:21
Congratulations, these are some fantastic new features that will make it much easier to contribute transit data.