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.