An app for mapping Toronto street art projects.
- Google Maps.
- Javascript API. For customized maps on webpages.
- Infobox. Utility library for extending maps with themed popups.
- Javascript.
- Webpack. Static module bundler for modern JavaScript applications.
- Webpack Bundle Analyzer. Visualize size of webpack output files with an interactive zoomable treemap.
- [Browsersync.][browsersync] Free hosted development service for browser testing.
- Heroku. Platform for easily deploying applications.
heroku-buildpack-static
. Heroku buildpack for handling static sites.- We use a fork with a new password-protection feature.
See also: Development Notes in DEVELOPMENT.md
This is a simple HTML app, and so you can use any local server.
If you don't have one yet, but have Python or NPM installed on your local system, you can use those from the command line.
The following steps will make the website available at: http://localhost:8080
Python
# If Python2 is available
python2 -m SimpleHTTPServer 8080
# If Python3 is available
python3 -m http.server 8080
Node.js / NPM
npm install http-server -g
http-server -p 8080
To help the team demo and stay on the same page, we host a remote staging evnrironment running the app: https://cht-start-map.herokuapp.com/
It's password-protected. For access, please contact @patcon or another member of the development team.
This demo app is automatically synced with the master
branch
hosted on GitHub. Merging any changes to this branch will automatically
deploy them to the staging environment.
This password-protection only affects Heroku.
Password protection can be enabled as disabled by toggling the
basic_auth
setting in static.json
.
Password-protection is configured via two environment variables:
BASIC_AUTH_USERNAME
: A plaintext username.- Ex:
myusername
- Ex:
BASIC_AUTH_PASSWORD
: A string of the "hashed" password.- Generate from command-line via
openssl passwd -apr1 testing123
- Ex:
$apr1$mBtNMatf$9sIue48ezPSkAsE4m.GNs1
- Generate from command-line via
On Heroku, these environment variables are managed according to this documentation.