From e7eee401a4a570aac3d74f33ad1b2fec8707c9de Mon Sep 17 00:00:00 2001 From: Joshua Date: Sat, 14 Mar 2020 18:04:02 -0700 Subject: [PATCH 1/4] Added intensity to each pin --- src/components/PinMap/PinMap.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/PinMap/PinMap.jsx b/src/components/PinMap/PinMap.jsx index 1b28c9564..5284c7d33 100644 --- a/src/components/PinMap/PinMap.jsx +++ b/src/components/PinMap/PinMap.jsx @@ -203,12 +203,13 @@ class PinMap extends Component { * improve functionality post-MVP by generating a heatmap list * on the backend. */} m.longitude} latitudeExtractor={m => m.latitude} - intensityExtractor={() => {}} + intensityExtractor={() => 1} /> From 89934208e261a986b6324afcffcecf207efc72f3 Mon Sep 17 00:00:00 2001 From: Joshua Marx Date: Tue, 17 Mar 2020 19:19:55 -0700 Subject: [PATCH 2/4] Fixed boundry colors and satellite street view --- package.json | 2 +- src/components/PinMap/PinMap.jsx | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 414dea211..3c9e5d050 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ }, "scripts": { "start": "npm run check-env && npm run dev", - "dev": "webpack-dev-server --config webpack.dev.js --host 0.0.0.0", + "dev": "webpack-dev-server --config webpack.dev.js", "build": "webpack --config webpack.prod.js", "lint": "eslint 'src/**/*.js*'", "test": "jest --passWithNoTests", diff --git a/src/components/PinMap/PinMap.jsx b/src/components/PinMap/PinMap.jsx index 5284c7d33..7f95fc2dd 100644 --- a/src/components/PinMap/PinMap.jsx +++ b/src/components/PinMap/PinMap.jsx @@ -14,6 +14,7 @@ import Choropleth from 'react-leaflet-choropleth'; import MarkerClusterGroup from 'react-leaflet-markercluster'; import HeatmapLayer from 'react-leaflet-heatmap-layer'; import PropTypes from 'proptypes'; +import COLORS from '@styles/COLORS'; // import neighborhoodOverlay from '../../data/la-county-neighborhoods-v6.json'; // import municipalOverlay from '../../data/la-county-municipal-regions-current.json'; @@ -21,16 +22,17 @@ import PropTypes from 'proptypes'; import ncOverlay from '../../data/nc-boundary-2019.json'; const { BaseLayer, Overlay } = LayersControl; +const boundaryDefaultColor = COLORS.BRAND.MAIN; +const boundaryHighlightColor = COLORS.BRAND.CTA1; class PinMap extends Component { constructor(props) { super(props); - this.state = { position: [34.0094213, -118.6008506], zoom: 10, - mapUrl: `https://api.tiles.mapbox.com/v4/mapbox.streets/{z}/{x}/{y}.png?access_token=${process.env.REACT_APP_MAPBOX_TOKEN}`, - satelliteUrl: `https://api.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.png?access_token=${process.env.REACT_APP_MAPBOX_TOKEN}`, + mapUrl: `https://api.mapbox.com/v4/mapbox.streets/{z}/{x}/{y}.png?access_token=${process.env.REACT_APP_MAPBOX_TOKEN}`, + satelliteUrl: `https://api.mapbox.com/styles/v1/mapbox/satellite-streets-v11/tiles/{z}/{x}/{y}?access_token=${process.env.REACT_APP_MAPBOX_TOKEN}`, geoJSON: ncOverlay, bounds: null, }; @@ -41,7 +43,7 @@ class PinMap extends Component { layer.setStyle({ weight: 5, - color: 'grey', + color: boundaryHighlightColor, }); layer.bringToFront(); @@ -53,7 +55,7 @@ class PinMap extends Component { layer.setStyle({ weight: 2, opacity: 1, - color: '#959595', + color: boundaryDefaultColor, }); } @@ -172,7 +174,7 @@ class PinMap extends Component { fillColor: 'white', weight: 2, opacity: 1, - color: '#959595', + color: boundaryDefaultColor, dashArray: '3', }} onEachFeature={this.onEachRegionFeature} From 1331d788895bac14686980dc451c879dfbfb1002 Mon Sep 17 00:00:00 2001 From: sellnat77 Date: Tue, 17 Mar 2020 20:24:55 -0700 Subject: [PATCH 3/4] Added system arch --- 311-system-architecture.png | Bin 0 -> 59744 bytes GETTING_STARTED.md | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 311-system-architecture.png diff --git a/311-system-architecture.png b/311-system-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..21d55e6790da2c8ae04f0a9392b25f63a640d6ba GIT binary patch literal 59744 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 literal 0 HcmV?d00001 diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md index 7047921c0..5670c881f 100644 --- a/GETTING_STARTED.md +++ b/GETTING_STARTED.md @@ -34,6 +34,10 @@ CI Is driven by tests, they help instill confidence in pull requests because a d Our front end tests are run through Enzyme and our backend tests are run through Pytest. +## System architecture +Here is our rough draft of our architecture diagram, since the application is not yet 'deployed to production' this diagram might not be the exact representation of what currently exists +![System diagram](311-system-architecture.png) + ## Postgres Our persistence layer is run by Postgresql. It is recommended to review [this]([https://www.tutorialspoint.com/postgresql/postgresql_overview.htm](https://www.tutorialspoint.com/postgresql/postgresql_overview.htm)) if you are unfamiliar For local development, we utilize a volatile docker container through docker compose. This is meant for experimentation and working with datasets in isolation. When the application is ready for deployment, the persistence will be offloaded to a shared server in some cloud...somewhere From e152218c8a922556719b9fe7647c9ea74ed60dc4 Mon Sep 17 00:00:00 2001 From: Joshua Marx Date: Tue, 17 Mar 2020 20:43:48 -0700 Subject: [PATCH 4/4] moved host to conf file --- webpack.dev.js | 1 + 1 file changed, 1 insertion(+) diff --git a/webpack.dev.js b/webpack.dev.js index 53fb3d8a2..5011b791a 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -9,6 +9,7 @@ module.exports = merge(config, { contentBase: './public', compress: true, port: 3000, + host: '0.0.0.0', hot: true, historyApiFallback: true, },