ryanhanwu / am-i-rent-stabilized

A web app to inform NYC residents about rent stabilization

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Am I Rent Stabilized?

A mobile friendly, multi-lingual web app that informs NYC residents about Rent Stabilization by simplifying the process of how to find out if their apartment may be rent stabilized, if they are paying too much rent, and what to do about it.

See it in action at amirentstabilized.com.

V2 Runs on

Data Sources

Installation

Make sure you have Node.js at v5.9.1 or greater with Node-Sass, Handlebars, and Gulp modules installed globally.

  1. In terminal cd to this repo and do npm install to grab all dependencies.
  2. Run gulp production to compile the distribution code.
  3. Host code on a webserver of your choice.

Develop

Make sure you have Node.js at v5.9.1 or greater with Node-Sass, Handlebars, and Gulp modules installed globally.

  • Run gulp to start a local server and automatically watch for changes. The site will refresh automatically after making any changes.
  • Run gulp production to compile the distribution code in a build/ directory.

Updating the Site's Content:

As the entire site is translated to Chinese and Spanish, any changes to the site's content must also be translated to these languages. This is done by editing the JSON files in data/. Any changes to the site structure must be made to the Handlebars templates in app/templates/. Each of the JSON files and Handlebars files in these folders corresponds to one page of the app (index.html, why-it-matters.html, how-it-works.html, & resources.html). Each JSON file contains the content in 3 languages while each template file contains the markup and Handlebars templating code.

After updating these sets of files you must precompile the templates for them to be updated in the app. Make sure you have Node.JS and the Handlebars module installed globally then do:

handlebars app/templates/*.hbs -n app.templates app/js/app/templates.js

Note that if you're running the gulp default task, making changes to any files in app/templates/*.hbs will automatically re-compile app/js/templates.js.

Data Processing:

The processed data is publicly available for download on CartoDB but if you'd like to host it yourself you may do the following (note you will need to have GDAL and PostGIS installed):

  1. Import each of the NYC MapPLUTO shapefiles into Postgres / PostGIS. I recommend using shp2pgsl.
  2. Import the DHCR rent stabilized building list data into Postgres.
  3. Import Properties with 421a tax exemptions data located in data/exempt_stabilized.csv.
  4. Run the queries in sql/likely_rent_stabilized.sql in Postgres.
  5. Export the map_pluto_likely_rs table as a shapefile from Postgres using pgsql2shp.
  6. Import the shapefile to CartoDB.
  7. You can now query the data using the CartoDB SQL API.

Credits

  • Big thanks to Caroline Woolard for suggesting the idea to me.

  • Jue Yang designed the awesome building graphics which informed the overall redesign of version 2 of the site.

  • Eric Brelsford and BetaNYC provided motivational and technical support.

  • Radish Lab contributed the design mockups for version 2.

  • John Krauss provided data for NYC properties that should have rent-stabilized apartments due to receiving tax exemptions from state programs such as 421a. (You can learn more on the the repo for nyc-stabilization-unit-counts).

Fullscreen Slides with GSAP's TweenLite, CSSPlugin and ScrollToPlugin Credit

Forked from Chrysto's Pen Fullscreen slides with TweenLite, CSSPlugin and ScrollToPlugin.

A Pen by Captain Anonymous on CodePen.

License.

LICENSE

Creative Commons Attribution-NonCommercial
(CC BY-NC)

In other words: Not For Profit!

About

A web app to inform NYC residents about rent stabilization


Languages

Language:CSS 55.1%Language:JavaScript 22.6%Language:HTML 19.0%Language:Shell 3.2%