#AccelaEngage Building Civic Apps with Open Data Seth Axthelm Mark Headd Developer Evangelist Accela Developer Evangelist Accela #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 #AccelaEngage CivicData.com API If you have some basic experience with SQL you can use this API! #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-64ea48ed-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 • JSON Formatter (Chrome Extension) - http://bit.ly/1qnSaLL #AccelaEngage CivicData.com API • cURL - http://curl.haxx.se/ #AccelaEngage CivicData.com API • Postman (Chrome Extension) - http://bit.ly/1kmL3FK #AccelaEngage Data Visualizations • Charlotte County, FL Examples #AccelaEngage Data Visualizations • Live Example: • http://axtheset.github.io/bocc-civicdata/ • Source code: https://github.com/axtheset/bocc-civicdata #AccelaEngage Getting Data Easily #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 Text Messaging App • Demo time #AccelaEngage Question & Answer Session Seth Axthelm Mark Headd Developer Evangelist Accela Developer Evangelist Accela Accela Developer Links Developer Portal: https://developer.accela.com Developer Blog: http://devblog.accela.com Developer Twitter: https://twitter.com/acceladev GitHub: https://github.com/Accela-Inc #AccelaEngage