User:Siriuswapnil/gsoc final report

= Final Report - Google Summer of Code with Wikimedia Foundation =

Abstract
As Google Summer of Code 2020 comes to an end, I cannot help but think how accelerated these months felt. From the excitement of getting accepted into the program, interacting with the project mentors for the first time, pressure of preparing for the weekly code reviews to those enjoyable meetups of Wikimedia, the last three months have truly been a roller coaster ride for me. Having no formal experience in writing quality software, this program taught me the essence of structured programming workflow starting from code planning to writing tests and completing documentation. Technical writing was something I was just not familiar with, but after this program I am much better with the process. All in all, under the able guidance of extremely helpful mentors Tim Moody and George J Hunt, I can definitely say that Google Summer of Code 2020 was a wonderful experience for me and helped me expand my technical skills by leaps and bounds. This report summarises the highlights of my project - 'Design and implement a tool to create overlays on pre-rendered offline maps for Internet In A Box'.

Internet In A Box
My project is a basically an enhancement feature to the Internet In A Box. Internet-in-a-Box is software solution that can be implemented in a small, low-cost device to provide essential Internet resources without any Internet connection. It provides a local copy of a terabyte of the world’s Free information. It includes Wikipedia in 37 languages, a library of 40,000 e-books, most of the world’s open source software and source code, hundreds of hours of instructional videos, and world-wide mapping down to street level.

Project Summary
As mentioned, one of the core features of IIAB is the ability to render offline maps of a selected region based on a user’s preference. This project aims to develop functionality to display an overlay of local information like medical facilities, disease outbreaks, important properties, etc. This can enhance the readability of the map for the user and provide useful information in times of need for them.

Query from Wikidata:
The most important deliverable for Phase 1 was to develop a functionality to get GeoJSON output from SPARQL queries. The goal was to write a number of usable queries for Wikidata regarding information that would be useful for any number of users in a particular location. This included queries regarding nearby hospitals, airports, railway stations etc.

GeoJSON on maps:
To visualise those queries, there was a drag-and-drop component from Open Layers in place, where we could drop any GeoJSON file, and that would generate the markers on the map for the specified points. For conversion to GeoJSON, we used an online tool called geojson.io, that would help in the process.

Style Markers :
The markers generated by the OL library, were quite basic in nature, and would provide difficulty in putting distinguishable queries on the map. In other words, we needed hospitals to be signified by a different set of markers, and railway stations with a different one. Hence, the Style-function component of OL was utilised :

Screenshots :
abc

Code Submission :

abc

Detailed blogpost can be found here.

Query from Wikidata

Documentation

Commit History

Phase 2 :
Overlay

Mapping

Documentation

Phase 3
Admin Console