ProgressiveCoders / projects

164 stars 5 forks source link

Phone Your Rep #3

Open rapi-castillo opened 7 years ago

rapi-castillo commented 7 years ago

About Phone Your Rep

allows users to use location data to identify all their representatives and download contact info for all of their representatives to their mobile phone with one click or QR code.

For Live DEMO: msimonborg.github.io/phone_your_rep

Group leaders

@msimonborg - System Architecture @cormander - Javascript Team Lead (See Issue 38)

Who we're looking for

Javascript developer React developer Ruby Rails developer

Tasks

Move GIS processing to client-side:

  1. Create a build script that sources https://github.com/unitedstates/districts and other geojson sources and does the following: a. Sources various publicly maintained repositories of politician info and merge it all together; nobody seems to have the complete set of info (I've done this in the past, code is here: https://github.com/OurVoiceUSA/civic-loader) b. Use an Rtree algorithm to build a bounding-box (bbox) index of all the shapefiles and bundle it with the React app -- it shouldn't be more than a megabyte c. The index refers to the URLs of shapefiles and areas on the static site with json objects about politicians who represent those districts

  2. The React app, after it receives the Lon/Lat coordinates, uses the bbox index to very quickly identify about 10 shapefiles this point is possibly in a. Those shapefiles are downloaded and a point-in-polygon (available via npm) algorithm confirms which it's actually in, then fetches those 4 files (state, cd, sldl, sldu) b. Example code of point-in-polygon can be found here: https://github.com/OurVoiceUSA/ourvoiceusa-sdk-js/blob/master/index.js c. Politicians are displayed along with the district shape overlayed on the map, with their phone number front and center

Original tech: need 1: API testing, security and stability enhancements; skills: Ruby on Rails need 2: Front-end deployment; skills: React.js, Heroku, Github Pages need 3: Build simple, lightweight distributable web widget; skills: JS, HTML, CSS, experience packaging web widgets

Relevant Links

https://github.com/phoneyourrep/phone_your_rep#38 https://github.com/kylebutts/phone_your_rep https://github.com/msimonborg/phone-your-rep-api

Communication

In ProgCode slack: #phone-your-rep

msimonborg commented 7 years ago

hey Rapi, could you share these repo links? these are the current homes for the project: https://github.com/kylebutts/phone_your_rep https://github.com/msimonborg/phone-your-rep-api Thanks!

rapicastillo commented 7 years ago

@msimonborg Sure thing! :)

msimonborg commented 7 years ago

also add this for the live front-end demo : ) msimonborg.github.io/phone_your_rep

rapi-castillo commented 7 years ago

Awesome @msimonborg ! Will do, thank you.

kikoorikoo commented 7 years ago

Hey @msimonborg , great-looking project! I'm getting a 403 error when trying to add a vagrant box from https://s3.amazonaws.com/debugpyr/pyr.box . Do you think it will be available in the near future?

rodrei commented 7 years ago

Hey there! FYI there's an open source project written in Python that offers a similar functionality, it's called Call Power

http://callpower.org/ https://github.com/spacedogXYZ/call-power

PamelaJohn commented 5 years ago

Hey folks! If you're looking at contributing to this project, please check the recent submission from @cormander to Move GIS processing to a client-side server:

https://github.com/phoneyourrep/phone_your_rep/issues/38

If you would like to contribute javascript skills, please contact @cormander. If you have questions about system architecture, please contact @msimonborg.

Thanks!

PamelaJohn commented 5 years ago

Hey @msimonborg , great-looking project! I'm getting a 403 error when trying to add a vagrant box from https://s3.amazonaws.com/debugpyr/pyr.box . Do you think it will be available in the near future?

Hi @kikoorikoo, A new issue was submitted to address the 403 error, here. Thank you!