**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 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.
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 |Develop 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 |Finalize 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. Implement 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 13 - July 26 |Download query results to server similar to phase 1. Decide on choosing between queries or results to put in the catalog. Functionality to merge any new results about existing overlay data already on the server. Check for the impact of this addition on map search. Write detailed documentation for design and feature additions. Write a blog post regarding the changes. |
|July 27 - July 31 |**Phase 2 Evaluation**|
|August 1 - 7 |Add functionality to Admin Console UI to select from a list of pre-determined SPARQL queries and download resulting geodata to the server. Implement additional features based on feedback received.|
|August 8 - August 18|Create Admin Console UI to allow input of query text by the user, developed independently on the WikiData web site and extract resulting data to the server on local storage. Then render the existing OSMs with an 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 tool-chain allowing users to make their own Wikidata queries for map features and move it to local storage for rendering to offline maps.
- A script to render map features in extracted geo data, stored offline in a file, as a dynamic overlay on map tiles.
- Admin 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 : Prototype**
- Develop a set of atleast three SPARQL queries as sample map features.
- Develop functionality to download the query into a suitable file format( preferably geojson) and extract this geo data in development environment.
- Finalize 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 : Start Automation**
- Develop scripts to take in user submitted SPARQL query, and not sample query data.
- Implement the functionality to merge newer results onto existing overlay data. Check conflicts with the content search feature.
- Improvise based on feedback received.
**Phase 3 : Stretch Goal: Add Admin Console Gui and Automation.**
- 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 GitHub repo for IIAB Maps (https://github.com/iiab/maps) on a separate development branch. The code will be uploaded on my development branch periodically. I will keep creating Pull Requests for every feature added into the main repo.
- For transparent communication,I will be online on Zulipchat during working hours from 5 PM to 1 AM (UTC 05:30).
- I will use Github 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 for 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.