#AccelaEngage
Building Civic Apps with Open Data
Seth AxthelmDeveloper EvangelistAccela
Mark HeaddDeveloper EvangelistAccela
#AccelaEngage
Agenda
• What is Open Data?• CivicData.com Walkthrough• CivicData.com API• Data Visualizations• Text Messaging App• Q&A
#AccelaEngage
Definitions
• Open Data• Data form governments made available for external
use in machine readable formats.
• csv, json, xml, etc…
• CivicData.com• Open source open data portal powered by Accela and
CKAN (best of breed open source open data platform
#AccelaEngage
CivicData.com
• Shared / collaborative open data platform
• Built on best-of-breed, open source CKAN platform (powers OpenColorado & Data.gov)
• Launched in October 2013
• Free for both Accela and non-Accela customers
• Releasing new features every 6-8 weeks
• Real-time open datasets from Accela Automation
#AccelaEngage
CivicData.com API - SQL
• Enables you to use SQL to retrieve data• Use PostreSQL Syntax -
http://www.postgresql.org/docs/8.2/static/sql-syntax.html• Use double quotes around column names• Use single quotes around strings• Returns JSON response (and JSONP)• Can join multiple datasets!
• Example: http://mheadd.github.io/nypd-accident-data/
#AccelaEngage
CivicData.com API - SQL
• Prefix the query with this:• http://www.civicdata.com/api/action/datastore_search_sql?sql=
• Examples:• Permit counts by type – no filter
• SELECT "PERMIT TYPE", count(*) as COUNT from "92c62bd0-64ea-48ed-b28b-6976fba03cde" GROUP BY "PERMIT TYPE" ORDER BY COUNT DESC
• Count of closed permits• SELECT count(*) from "92c62bd0-64ea-48ed-b28b-6976fba03cde"
WHERE "PERMIT STATUS" = 'Closed’
• Permits ready for pickup• SELECT * from "92c62bd0-64ea-48ed-b28b-6976fba03cde" WHERE
"PERMIT STATUS" = 'Ready for Pickup’
#AccelaEngage
CivicData.com API
• cURL - http://curl.haxx.se/
#AccelaEngage
Data Visualizations
• Live Example:• http://axtheset.github.io/bocc-civicdata/
• Source code: https://github.com/axtheset/bocc-civicdata
#AccelaEngage
Text Messaging App
• Simple SMS app to allow citizen to look up permits by address.
• Node.js + Twilio + SLC Data on CivicData.com
• Using a provider like Twilio (or Tropo, or Nexmo) allows you to choose any web technology.
• Helps focus attention on how data is presented, channels used.
#AccelaEngage
Question & Answer Session
Seth AxthelmDeveloper EvangelistAccela
Mark HeaddDeveloper EvangelistAccela
Accela Developer LinksDeveloper Portal: https://developer.accela.comDeveloper Blog: http://devblog.accela.comDeveloper Twitter: https://twitter.com/acceladevGitHub: https://github.com/Accela-Inc