diff --git a/client/.dockerignore b/client/.dockerignore deleted file mode 100644 index b512c09d..00000000 --- a/client/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -node_modules \ No newline at end of file diff --git a/client/.env.development b/client/.env.development deleted file mode 100644 index eb661444..00000000 --- a/client/.env.development +++ /dev/null @@ -1,8 +0,0 @@ -GATSBY_DATA_ROOT_PATH=https://d3jqyw10j8e7p9.cloudfront.net -GATSBY_DATA_PIPELINE_SCORE_PATH=data-pipeline/data/score -GATSBY_SCORE_DOWNLOAD_FILE_PATH=downloadable/Screening+Tool+Data.zip -GATSBY_MAP_TILES_PATH=tiles - -# These may be used in the future: -# WEB_APP_CDN_BASE_URL=https://d2zjid6n5ja2pt.cloudfront.net -# S3_BASE_URL=https://justice40-data.s3.amazonaws.com diff --git a/client/.env.local b/client/.env.local deleted file mode 100644 index 61b59d89..00000000 --- a/client/.env.local +++ /dev/null @@ -1,8 +0,0 @@ -GATSBY_DATA_ROOT_PATH=http://localhost:5000/data/data-pipeline -GATSBY_DATA_PIPELINE_SCORE_PATH=data_pipeline/data/score -GATSBY_SCORE_DOWNLOAD_FILE_PATH=downloadable/Screening+Tool+Data.zip -GATSBY_MAP_TILES_PATH=tiles - -# These may be used in the future: -# WEB_APP_CDN_BASE_URL=https://d2zjid6n5ja2pt.cloudfront.net -# S3_BASE_URL=https://justice40-data.s3.amazonaws.com diff --git a/client/.gitignore b/client/.gitignore index adb519ff..1a809502 100644 --- a/client/.gitignore +++ b/client/.gitignore @@ -5,4 +5,3 @@ public cypress/screenshots/ cypress/videos/ .DS_Store -.env.* \ No newline at end of file diff --git a/client/Dockerfile b/client/Dockerfile deleted file mode 100644 index 71c6024e..00000000 --- a/client/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM node:14 - -# Set working directory like 'cd' command, any subsequent instructions in this docker file, will start from -# this working directory -WORKDIR /client - -# Copy the package.json and package_lock.json files from local to the docker image / container -COPY package*.json ./ - -# install all packages as a layer in the docker image / container -RUN npm install - -# copy all local files from the working directory to the docker image/container however we must use -# dockerignore to ignore node_modules so that the image can use what what was just installed from the above -# step. -COPY . . - -ENV PORT=6000 - -EXPOSE 6000 - -CMD [ "npm", "start"] diff --git a/client/README.md b/client/README.md index 903cbdac..4b81861a 100644 --- a/client/README.md +++ b/client/README.md @@ -11,7 +11,6 @@ This README contains the following content: ## Installing and running the client site -### Via npm 1. Confirm you have the base required software installed. See [INSTALLATION](INSTALLATION.md) for more details. 1. Install yarn if you do not have it yet. Open your terminal and run `sudo npm install -global yarn`. This works on MacOS and Win10. To confirm it is installed, run `yarn -v`. A version number should be returned. 1. Navigate to the base directory of this repository, and go to the `client` directory (`cd client`). @@ -21,17 +20,6 @@ This README contains the following content: _Note that while this app uses npm as the package manager, yarn is required to build the [uswds](https://github.com/uswds/uswds) library._ -### Via docker -- Launch VS code in the top level directory (above client) -- install the Microsoft docker VS code extension -- type `docker-compose up` -- Running this on MacBook Pro with a 2.6GHz 6-core i7 with 16 GB of memory can take upto 20 minutes to complete. - -#### Troubleshooting docker - -- If an error is thrown about [running out of space](https://medium.com/@wlarch/no-space-left-on-device-when-using-docker-compose-why-c4a2c783c6f6) on device see this for ways to reclaim space. - - ### Viewing data on the map See [VIEW_MAP_DATA](./VIEW_MAP_DATA) for more details on this. diff --git a/client/gatsby-config.js b/client/gatsby-config.js index f8ab423a..b25300ec 100644 --- a/client/gatsby-config.js +++ b/client/gatsby-config.js @@ -1,7 +1,3 @@ -require('dotenv').config({ - path: `.env.${process.env.DATA_SOURCE}`, -}); - module.exports = { siteMetadata: { title: 'Justice40', diff --git a/client/package.json b/client/package.json index b65cf071..c2260399 100644 --- a/client/package.json +++ b/client/package.json @@ -9,8 +9,8 @@ ], "license": "CC0-1.0", "scripts": { - "develop": "gatsby develop -H 0.0.0.0", - "start": "gatsby develop -H 0.0.0.0", + "develop": "gatsby develop", + "start": "gatsby develop", "build": "gatsby build --prefix-paths", "serve": "gatsby serve", "clean": "gatsby clean", diff --git a/client/src/data/constants.tsx b/client/src/data/constants.tsx index d24cad52..60ed28ac 100644 --- a/client/src/data/constants.tsx +++ b/client/src/data/constants.tsx @@ -2,21 +2,22 @@ import {LngLatBoundsLike} from 'maplibre-gl'; import {isMobile as isMobileReactDeviceDetect} from 'react-device-detect'; import {defineMessages} from 'react-intl'; -export const DOWNLOAD_ZIP_URL = [ - process.env.GATSBY_DATA_ROOT_PATH, - process.env.GATSBY_DATA_PIPELINE_SCORE_PATH, - process.env.GATSBY_SCORE_DOWNLOAD_FILE_PATH, -].join('/'); +// URLS +export const DOWNLOAD_ZIP_URL = 'https://justice40-data.s3.amazonaws.com/data-pipeline/data/score/downloadable/Screening+Tool+Data.zip'; +// This is the URL for the origin S3 bucket: +// export const ORIGIN_BASE_URL = 'https://justice40-data.s3.amazonaws.com'; + +// This is the URL for the CDN that delivers the tile data +export const FEATURE_TILE_BASE_URL = 'https://d3jqyw10j8e7p9.cloudfront.net'; +const FEATURE_TILE_PATH = 'data-pipeline/data/score/tiles'; + +// This is the URL for the CDN that delivers the application +// const APP_BASE_URL = 'https://d2zjid6n5ja2pt.cloudfront.net'; const XYZ_SUFFIX = '{z}/{x}/{y}.pbf'; + export const featureURLForTilesetName = (tilesetName :string ) : string => { - return [ - process.env.GATSBY_DATA_ROOT_PATH, - process.env.GATSBY_DATA_PIPELINE_SCORE_PATH, - process.env.GATSBY_MAP_TILES_PATH, - tilesetName, - XYZ_SUFFIX, - ].join('/'); + return `${FEATURE_TILE_BASE_URL}/${FEATURE_TILE_PATH}/${tilesetName}/${XYZ_SUFFIX}`; }; export const FEATURE_TILE_HIGH_ZOOM_URL = featureURLForTilesetName('high'); export const FEATURE_TILE_LOW_ZOOM_URL = featureURLForTilesetName('low'); diff --git a/data/data-serve/Dockerfile b/data/data-serve/Dockerfile deleted file mode 100644 index e7561fb3..00000000 --- a/data/data-serve/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM node:latest -RUN npm install -g http-server -CMD http-server ./ --cors diff --git a/docker-compose.yml b/docker-compose.yml index 7f2e63a5..3fcd4ee7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,40 +1,15 @@ -version: "3.4" -services: - # The j40_data_pipeline service runs the ETL pipeline to create the score - score: - image: j40_data_pipeline - container_name: j40_data_pipeline_1 - build: data/data-pipeline - ports: - - 8888:8888 - volumes: - - ./data/data-pipeline:/data-pipeline - stdin_open: true - tty: true - environment: - ENV_FOR_DYNACONF: development - PYTHONUNBUFFERED: 1 - - # The score_server serves the data-pipeline volume as a URL - j40_score_server: - image: j40_score_server - container_name: j40_score_server_1 - build: data/data-serve/. - volumes: - - ./data/data-pipeline/data_pipeline/data/score:/data/data-pipeline/data_pipeline/data/score - ports: - - 5000:8080 - - #The j40_website service runs the web app / map / site - j40_website: - image: j40_website - container_name: j40_website_1 - build: ./client - environment: - DATA_SOURCE: local - volumes: - - ./client/src:/client/src - ports: - - 8000:6000 - depends_on: - - "j40_score_server" +version: "3.4" +services: + score: + image: j40_data_pipeline + container_name: j40_data_pipeline_1 + build: data/data-pipeline + ports: + - 8888:8888 + volumes: + - ./data/data-pipeline:/data-pipeline + stdin_open: true + tty: true + environment: + ENV_FOR_DYNACONF: development + PYTHONUNBUFFERED: 1