Name : Sagarpreet Chadha
Github : https://github.com/sagarpreet-chadha
Affiliation : Delhi Technological University , India
Location : Delhi , India
Email : email@example.com
Project Title : Social Media Integration and Leaflet-Layers Library .
Gitter : sagarpreet-chadha
Portfolio : https://sagarpreet-chadha.github.io/
I am in my pre-final year studying Computer Science Engineering (BTech) from Delhi Technological University , India . Originally I am from a small village in Punjab , India but currently living in Delhi , India to complete my studies .
Project description :
I would love to work on Social Media Integration and part of Interactive Project Maps .
Abstract/summary (<20 words):
Adding replies from twitter post to the original node on PublicLab and also adding answers from PublicLab node to twitter as comments . Also improving the interactive maps used in PublicLab website .
What problem does your project solve?
PART 1 of the project : (Milestone : Social Media Integration )
People are increasingly engaging with Public Lab community and questions via Twitter . This project helps in :
1.) Generating more content to Public Lab website .
2.) Notifying the author of the node when someone comments on the corresponding tweet of the node , as an email is send to the author because that comment is added as a comment to the original node in PL website .
3.) helping people to know more about the Public Lab community .
4.) Automating a general reply to each comment on a tweet of the form - “Thank you John Doe for your reply .”
5.) Posting all the answers from a node on Public Lab website as a comment to the corresponding post on twitter of the form - “Warren added an answer to your node on publiclab.org ”.
PART 2 of the project : (Milestone : Geographic features)
2.) Making all the maps used on PL website to dynamically load markers by making API . This API can be used for other useful purposes .
3.) Solving the issues related to security , i.e , not showing the markers when the zoom level exceeds the precision level of the location given by the user .
4.) Showing project related attributes on marker and using different markers to show Projects to avoid any kind of confusion .
5.) Solving the issue of infinite scrolling and dragging of maps to make use of maps more friendly and smooth .
6.) Making an alternate list-view of map showing nearby projects .
PART 1 of the project :
I have already worked with Rails RSS Feed generator and integration with IFTTT recipes to generate Tweets with images .
The first step would be to change the format of the Tweets generated by IFTTT to start with a unique number (which can be the ‘uid’ of that node) , for fast searching of that node from our database.
Then using the Twitter gem , we can write an algorithm to fetch the recent replies to a tweet by @PublicLab .
Then storing the tweet ids of these replies in a our database so that they are not processed the next time our algorithm runs . Also storing the tweet id of the parent post which is used to post the answers from PL website to this post as a comment .
This algorithm will be written as RAKE file in /lib folder and then using Whenever gem (we will also be using this gem for generating EMAIL - DIGEST) we can execute this rake file after every finite interval of time .
1.) We are just storing the Tweet-ids and hence less space is used .
2.) We are making a RAKE file and hence not changing the core code .
Pseudo-code for the Algorithm :-)
I have created this Demo project :
A.) Add a comment to this tweet here :
B.) Your comment would be shown here within 10 minutes : (To be more precise it runs every XX : X7 UTC time)
C.) Also an automated reply to that comment will be generated on twitter .
- Youtube Video showing the Demo :
PART 2 of the project :
Some of the existing issues i would like to solve :
To standardise the use of maps across PublicLab website , we should create a JS library .
I have created this demo JS library and published to npm :
DOCS OF THE Leaflet JS library :
1.) Creating an instance / object :
var PLmap = new MainModule() ;
2.) Attributes for modifying maps :
3.) To add Single - Layer Map :
PLmap.SkyTruth(op) ; PLmap.MapKnitter(op) ; PLmap.ToxicRelease(op) ; PLmap.WaterReport(op) ; and many more !
4.) To add Map with Layer button on top-right corner of map to choose combination of layers :
PLmap.MultiLayers("SkyTruth" , "MapKnitter") ; PLmap.MultiLayers("SkyTruth" , "ToxicRelease" , "WaterReport") ; and various other combinations !
5.) To add a CUSTOM map with your own API : This Map can be used for :
- People Map : to show recent contributors to PublicLab.org
- Project Map : to show near-by projects from the current location of the user .
People-Community Map : to show near-by PublicLab community people .
PLmap.CustomMap(op , "https://" + URL OF API + ".json") ;
6.) To add Map with only 1 marker : This Map can be used in various places across the PL website mainly :
Profile Map .
The final UI of this new map will be (can be modified as per my mentors convention) :
Profile Map showing Near By Projects with a different marker .
Page showing near by Projects in both views : map view and a list view .
Map showing one of the Layer of various layers .
Map showing button to choose various layers with different markers for each layer .
Map showing FULL-SCREEN option .
The detailed timeline is linked below :
All the resources I will be requiring are on the internet such as Twitter gem documentation , leaflet documentation , etc . And I would of course require the guidance of my mentor.
I have forked and built plots2 . I have been contributing to PublicLab community from the past 6 months and am quite comfortable with the codebase .
I am extremely passionate about developing applications and have worked hard to attain the required set of knowledge and skills .
Also i like to go to various Hackathons and have recently won a hackathon where my team developed a product for children with cognitive disability . (Organised by Read-Alliance , held in NASSCOM office , Delhi)
I am also a recipient of Google India Challenge Scholarship .
Contributions to Public Lab :
I have done about 32 commits and have reported about 24 issues . My contributions to PublicLab repository are listed below :
Merged Pull Requests :
Issues reported :
I still remember the first contribution i made to PublicLab :)
Throughout my academic career , I have been consistently praised as focused by my professors and peers . While working on academic and extracurricular projects , I have developed proven leadership , technical , and teamwork skills . I like to work in a team and have developed various projects with my college mates . Also as i am a regular hackathon participant , i have the experience of working in a team .
Belonging from a place having fresh air , pure water and green environment , and currently living in one of the most polluted city in the world - Delhi , Yes Public Lab interests me a lot and i wish to be the part of the PublicLab family for a very long time .
As Larry Page once said- “If you’re changing the world, you’re working on important things. You’re excited to get up in the morning .”
My Outreach - Plan to bring more newcomers during my Summer Project :
Since I am a Teaching Assistant for https://www.codingninjas.in/ , I am planning to hold free sessions for students where we can promote OSS . I will also encourage them to fork the PL repo and solve FTO issues and send a PR for the same .
Same session will also be conducted in my university .
In this way we would not only get more developers on-board but it will also help students explore the Open-Source world as well .
This project will be helpful for people engaging with Public Lab via twitter .
It will also help twitter-savvy people to follow their PL tweets of interests very closely .
The contributions by existing Public Lab users will be visible on twitter which will reach more audience and at the same time attract more users to Public Lab community .
This project will also help people who wants to know about the various projects near them . The project will also focus on location-security .
I can assure you that if i get selected to work with Public Lab this summer , I will definitely try my level best to make this project successful and will love to continue working with Public Lab even after the summer .
External Links :
1.) Youtube video :
2.) Demo Website :
3.) Tweet URL :
Looking forward to working with you .
Sagarpreet Chadha .