Search for activities and locations in your neighborhood
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src Remove ; Jun 14, 2018
tests/e2e Rename test directory to tests/e2e and its integration folder to specs May 14, 2018
.babelrc Tidy up readme, package.json, and .babelrc Apr 2, 2018
.editorconfig Vue boilerplate with standards app template Feb 22, 2018
.eslintrc
.gitignore Rename test directory to tests/e2e and its integration folder to specs May 14, 2018
.travis.yml Fix travis branch config [no ci] Sep 15, 2018
README.md Improve CI test scripts Apr 12, 2018
cypress.json Rename test directory to tests/e2e and its integration folder to specs May 14, 2018
index.html Favicon is handled in webpack config Apr 27, 2018
package.json
webpack.config.js Adjust lint rules to enforce self closing tag and apply to root direc… May 7, 2018

README.md

Philadelphia Parks & Recreation Finder

Search for activities and locations in your neighborhood. This application was developed by ODDT Digital Transformation Fellows alongside our partners at Parks & Recreation. It's meant to complement the information on their department website, and some queries from it are surfaced on the website example.

Local development

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

Testing

While running a server (npm run dev):

# run linter and tests (headless)
npm test

# open test gui (for writing and debugging tests)
npm run test:gui

Deployment

This project's Travis CI configuration compiles every commit to the master branch and pushes the dist folder to the gh-pages branch, where it's served via GitHub Pages' static hosting. The phila.gov repo's nginx server then has a config to reverse proxy this application beta.phila.gov/parks-rec-finder.

Linting

This project uses very strict code formatting linters in order to maintain consistency over time among multiple maintainers. Some of the rules may seem arbitrary, and that's to reduce arbitrary decision-making (the decisions are already made). We use standard for JavaScript linting, and the official Vue.js linter for .vue files, which enforces the Vue.js style guide.

The continuous integration workflow will fail if the linter doesn't pass, so you should run the linter before committing:

npm run lint

npm test also runs the linter. It's even easier if you use a plugin for your IDE like this one that runs the linter in the background as you code.