Giter Site home page Giter Site logo

nycplanning / labs-factfinder Goto Github PK

View Code? Open in Web Editor NEW
40.0 12.0 12.0 13.32 MB

New York City Census Reporting Tool

License: Other

JavaScript 71.75% HTML 0.71% Shell 0.01% SCSS 7.95% Handlebars 19.59%
census-data demographics nyc ember ember-cli labs

labs-factfinder's Introduction

NYC Population FactFinder 2020

Population FactFinder allows you to easily define study areas โ€” by selecting Census Tracts, Census Blocks, Neighborhood Tabulation Areas (NTAs), Community Districts, and more โ€” to produce detailed population profiles.

Requirements

You will need the following things properly installed on your computer.

(You can use NVM to manage node versions on your computer)

Local development

  • Clone this repo https://github.com/NYCPlanning/labs-nyc-factfinder.git
  • Install Dependencies yarn
  • Start the server yarn run start
    • If running labs-factfinder-api and labs-layers-api locally, instead start the server with yarn run start:local-api
  • Run tests: yarn test

Architecture

Primary views:

  • Selection - Allows the user to create a selection of geometries to view census/ACS data about.
  • Explorer - Shows census/ACS data tables and charts for the selected geometries.

Backend services

  • factfinder-api - An express api that handles search AND maps collections of selected geoids to an integer. Useful for persisting selections across browser sessions (also makes reports shareable)
  • layers-api - A collection of feature layers to populate the map with data.

Contact us

You can find us on Twitter at @NYCPlanningTech, or comment on issues and we'll follow up as soon as we can. If you'd like to send an email, use [email protected]

labs-factfinder's People

Contributors

allthesignals avatar andycochran avatar bmarchena avatar ceciliacy avatar chriswhong avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar dhochbaum-dcp avatar ericamaurer avatar godfreyyeung avatar hannahkates avatar horatiorosa avatar jlhogan avatar joelaalvarez avatar pichot avatar rtblair avatar tangoyankee avatar trbmcginnis avatar tylermatteo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

labs-factfinder's Issues

Highlighted geometries are clipped to tile boundary

To highlight on mousemove, we queryRenderedFeatures()and get the geometry of the feature that is under the mouse pointer. This is clipped to the tile boundary, however, and often shows only a partial geometry.

This issue on mapbox-gl-js presents a workaround that uses querySourceFeatures() to get the complete geometry. We should get this working, and apply the same fix to ZoLa.

mapbox/mapbox-gl-js#3871

fullscreen_10_27_17__9_48_am

User can select geometries based on variables.

Geographic filtering-- limit selectable areas on the map where geographies match user specifications (eg. user selected to limit geographies to those where Hispanic population is 50% or more)

User can search for intersection

User can build profile area by aggregating geographies within same geography type (eg. can aggregate census tracts OR aggregate NTAs but not census tracts AND NTAs)

Clear Selection Bug

Clear selection is buggy when switching between selector types.

To replicate:

  • Load the app
  • Select a tract
  • Switch to blocks
  • Unselect one of the blocks
  • Click "clear selection"
  • Everything should clear; but instead, the blocks are all selected as they were when you changed modes

User can identify estimates of change and estimates of differences that are statistically significant

By view:

  • Standard (without reliability): significance labels appear to right of numeric difference and percentage point difference
  • Standard (with reliability): not applicable
  • Change over time (without reliability): significance labels appear to right of numeric difference and percentage point difference
  • Change over time (with reliability): significance labels appear to right of numeric and percent change estimates
  • Comparison change over time (without reliability): significance labels appear to right of numeric difference and percentage point difference
  • Comparison change over time (with reliability): significance labels appear to right of numeric difference and percentage point difference estimates

User can identify estimates with poor statistical reliability

Data associated with estimates of zero, top- and bottom-coded estimates, or Coefficients of Variation (CVs) of 20% or more are grayed out to signify poor statistical reliability

Applicable for standard, standard with reliability, and change over time (without reliability)

Create App Skeleton

  • Create Ember App
  • Add foundation, move settings file from Zola
  • Add "Stock" Header
  • Setup CircleCI for tests & up to date with develop
  • Set develop to default branch
  • Add a basic README
  • Setup dokku app
  • Setup automated deployment on updates to develop
  • Add selection and report routes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.