**Name** : Swapnil Sinha
**IRC nickname on Freenode** : swapnil-sinha
**Github Profile** : https://github.com/siriuswapnil
**Email** : firstname.lastname@example.org
**Location (country or state)** : Ranchi, India
**Time Zone** : UTC +05:30
**Typical working hours (include your timezone)** : 5 PM to 1 AM (UTC +5:30)
The Internet In A Box is a platform to provide offline access to educational content like Wikipedia slices, medical knowledge, videos, books, maps to users who have limited to no access to the Internet via physical media. One of its core features includes the ability to render offline maps of a selected region based on a user’s preference. This project aims to develop a functionality to display an overlay of local information like medical facilities, disease outbreaks, important properties, important properties etc. This can enhance the readability of the map for the user and provide useful information in times of need for them.
Mentor(s) - @Tim-moody , @psinghal20
Co-Mentor - @Georgejhunt
**Have you contacted your mentors already?** Yes
| **Period** | **Task** |
|May 4 - June 1 |**Community bonding period**.Setup development environment and study various tools and techniques of the existing codebase.|
|June 1 - June 9 |Creating a catalog of urls to wikidata queries for sample map features.Go deep into OpenLayers library and develop single offline maps with ability to drop features for displayDevelop a minimum of three SPARQL queries to generate sample map features to test on online maps. Determine the best file format for storing the extracted geo data onto local storage for rendering on offline maps.|
|June 20 - June 28 |Design and implementation of a working prototype with a tool to render the overlays using a drop method on IIAB maps for display. Get acquainted with OpenLayers. Write Documentation with detailed design strategy that has been implemented. Update work done in blog postFinalize a working prototype that can render any arbitrary file of geodata as an overlay onto the existing OSM display in IIAB.|
|June 29 - July 3 |**Phase 1 Evaluations** |
|July 3 - July 12 |Design and implement tools to enable the users to do SPARQL queries themselves and implement a feature to move it to local storage. The map features are not pre decided and generated by the user himselfImplement more robust functionality by developing scripts to use existing APIs and tools to design a user-oriented approach. Develop scripts for the client-side to submit a SPARQL query( for power users).|
|July 27 - July 31 |**Phase 2 Evaluation**|
|August 13 - August 23 |(Optional- Work on configuring ansible for the completed project). Run tests, bug fixes and write documentation for overall design strategy.8 - August 18|Create Admin Console UI to allow input of query text by the user, Do code cleanup for final submissiondeveloped independently on the WikiData web site and extract resulting data to the server on local storage. Update blogThen render the existing OSMs with recent additionsan overlay of the query.|
|August 19 - August 23 |(Optional- Work on configuring ansible for the completed project). Run tests, bug fixes and write documentation for overall design strategy. Do code cleanup for final submission. Update blog with recent additions.|
|August 24 - August 31 |Final submission of code. Write Project Summary.|
|August 31 - September 7 |**Mentors submit final student evaluations**|
|September 8 |**Final results of Google Summer of Code 2020 announced**|
- A working prototype to take in a catalog of urls containing wikidata queries, offline and render it to simpltool-chain allowing users to make their own Wikidata queries for map features and move it to local storage for rendering to offline maps.
- A tool chain for users to make their own SPARQL queries using geojsonscript to render map features in extracted geo data, stored offline in a file, store it locally and render the featuresas a dynamic overlay on offline mapsmap tiles.
- A feature to show popups with geodata and additional information when user points on a particular feature.dmin Console UI to enable the user to enable the user to choose between a set of pre-defined catalog of features or generate their own query using SPARQL and download it to local storage
- Proper documentation at all phases indicating the design strategies used.
- Identify areas of improvement and continue working on the project.
**Phase 1 evaluations**: Prototype**
- Develop a set of atleast three SPARQL queries as sample map features.
- Catalog files that contains the list of urls containing sample wikidata queries for map featuresDevelop functionality to download the query into a suitable file format( preferably geojson) and extract this geo data in development environment.
- A tool to implement catalogs on offline mapsFinalize a working prototype that can takes in a file of geo data(preferably by drag and drop) and renders it as an overlay on a OSM map.
- Documentation for feature additions.
**Phase 2 evalu: Start Automations****
- A tool chain allowing- Develop scripts to take in users to make their own Wikidata submitted SPARQL queriesy, and move it to local storage for rendering to offline mapsnot sample query data.
- Popups to show geodata and additional information on offline maps- Implement the functionality to merge newer results onto existing overlay data. Check conflicts with the content search feature.
- Improvise based on feedback received.
- Documentation, Bug fixes, code cleanup.
**Final evalu**Phase 3 : Stretch Goal: Add Admin Console Gui and Automations.**
- Add Admin Console UI for users to select from dropdown of available overlays.
- Add functionality for power users to generate their own query data file and store it to local storage for rendering as an overlay by the server.
- Complete Documentation of every feature addition, bug fixes.
- I will be working on the githubGitHub repo for IIAB Maps (https://github.com/iiab/maps) on a separate development branch. CodeThe code will be uploaded on my development branch periodically. I will keep creating Pull Requests for every feature additionadded into the main repo.
- For transparent communication,I will be online on my IRCZulipchat during working hours from 5 PM to 1 AM (UTC 05:30).
- I will use PhabricatorGithub Projects for managing tasks and updates on the project.
- I will be available on email(email@example.com) to be contacted when needed in the non-working hours.
- According to WMF norms for Google Summer of Code students, I will submit periodic blogposts to the Bi-Weekly Reports page.
- I will publish the final summary of my work at the end of my coding period on my blog.
Currently, I am a sophomore studying B.Tech in Computer Science Engineering at Birla Institute of Technology, Mesra. I was introduced to open-source by a senior in my freshman year and since then I’ve been hooked. I have been doing Web Development for quite some time now. I’ve always had this passion offor building things from scratch. Passion coupled with discipline can get one all the success one wants, is what I believe.
With the current delay in college sessions, there might be a change in my college timetable.I will communicate the changes, when necessary.
With contributions in small open -source projects and participation in a few community hackathons, I’m quite adept with open source technologies (like git, IRC, etc.). This year, with GSoC, it’ll be my first big project in the domain of open source.
In due course of exploring what the project is really about, I’ve begun to appreciate the concept of connecting people with the Internet for access to information, even more. With the current situation forcing us into self-isolation, a project like Internet In A Box really becomes the torch bearer for connecting people and ideas who do not have the luxury of a decent Internet connection at their disposal, and I would love to be a part in taking this project further with better and robust features.
I’ve participated in a few hackathons in the past and just recently, was selected for a hackathon to build solutions with containment strategies for people suffering from CoVID-19.
I have been a part of a few tech conferences, and have taken workshops on Git, Github and Web development in general.
- Generated a SPARQL query to return the list of hospitals with labels in a 50km radius from central Delhi.
- Studied the existing codebase at https://github.com/iiab/maps to understand existing features.
- Completed the tutorials given at https://wikimania.wikimedia.org/wiki/2019:Libraries/Map_making_workshop_%E2%80%93_from_Wikidata_to_interactive_off-wiki_maps_in_three_steps to understand Vector maps, geojson, and other technologies to render offline maps.