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.
- Greensock's GSAP Animation Library
- CartoDB JS
- CartoDB SQL API
- CartoDB's Positron map tiles
- NYC Geoclient API
- Handlebars.js
- AddToCalendar.js
- addThis
- NYC MapPluto Tax Lot geospatial data.
- New York State's HCR - Rent Stabilized Buldings List.
- Exempt Stabilized buildings via nyc-stabilization-unit-counts.
Make sure you have Node.js at v5.9.1 or greater with Node-Sass
, Handlebars
, and Gulp
modules installed globally.
- In terminal
cd
to this repo and donpm install
to grab all dependencies. - Run
gulp production
to compile the distribution code. - Host code on a webserver of your choice.
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 abuild/
directory.
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
.
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):
- Import each of the NYC MapPLUTO shapefiles into Postgres / PostGIS. I recommend using
shp2pgsl
. - Import the DHCR rent stabilized building list data into Postgres.
- Import Properties with 421a tax exemptions data located in
data/exempt_stabilized.csv
. - Run the queries in
sql/likely_rent_stabilized.sql
in Postgres. - Export the
map_pluto_likely_rs
table as a shapefile from Postgres usingpgsql2shp
. - Import the shapefile to CartoDB.
- You can now query the data using the CartoDB SQL API.
-
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).
Forked from Chrysto's Pen Fullscreen slides with TweenLite, CSSPlugin and ScrollToPlugin.
A Pen by Captain Anonymous on CodePen.
Creative Commons Attribution-NonCommercial
(CC BY-NC)
In other words: Not For Profit!