Slide 1

Slide 1 text

CouchDB and Nodejs The new GeoData tool set Mick Thompson @dthompson FOSS4G 2011

Slide 2

Slide 2 text

CouchDB Apache Project Couchbase Hosted

Slide 3

Slide 3 text

CouchDB Document store JSON over HTTP MapReduce in Javascript Views based on B-tree

Slide 4

Slide 4 text

GeoCouch R-tree Spatial views GeoJSON

Slide 5

Slide 5 text

GeoCouch How to get it on github - build Couchbase Iris Couch

Slide 6

Slide 6 text

Nodejs Javascript Server-side Asynchronous

Slide 7

Slide 7 text

Nodejs Features non-blocking javascript built with the web in mind

Slide 8

Slide 8 text

Geo in Nodejs node-geos geohash geocoder mapnik postgresql

Slide 9

Slide 9 text

Mapchat mapchat.im github.com/dthompson/mapchat

Slide 10

Slide 10 text

Hello world of node

Slide 11

Slide 11 text

GeoTrack iPhone app that tracks location POST to nodejs http server Save to CouchDB Broadcast to subscribed clients

Slide 12

Slide 12 text

iOS Dont judge my iOS code :)

Slide 13

Slide 13 text

iOS Core Location Background Location Geofencing, significant change

Slide 14

Slide 14 text

Socket.io websockets with failback - flash socket - xhr long polling

Slide 15

Slide 15 text

Socket.io

Slide 16

Slide 16 text

Express light web framework adds functionality to httpserver

Slide 17

Slide 17 text

Express

Slide 18

Slide 18 text

Nodejs -> CouchDB HTTP - request Cradle -simple -caching

Slide 19

Slide 19 text

Cradle

Slide 20

Slide 20 text

geocouch-utils common spatial views - data formats - radius queries - proximity clustering https:/ /github.com/vmx/geocouch-utils

Slide 21

Slide 21 text

Design docs Controls view & list functions Yet another JSON doc

Slide 22

Slide 22 text

Design Docs

Slide 23

Slide 23 text

Couchapp command line deploy design documents

Slide 24

Slide 24 text

Couchapp

Slide 25

Slide 25 text

Couchapp http:/ /couchapp.org

Slide 26

Slide 26 text

Node.CouchApp.js https:/ /github.com/mikeal/node.couchapp.js Fewer files, define multiple views in 1 .js Node.js sync

Slide 27

Slide 27 text

Spatial Views

Slide 28

Slide 28 text

Spatial View /geotrack/_design/gc-utils/_spatial/geoms? bbox=-180,-90,180,90

Slide 29

Slide 29 text

Spatial View *Cradle doesn’t yet support this

Slide 30

Slide 30 text

Bounding Box

Slide 31

Slide 31 text

Location update

Slide 32

Slide 32 text

Geotrack http:/ /geotrack.mapchat.im http:/ /github.com/dthompson/geotrack

Slide 33

Slide 33 text

Thanks Mick Thompson [email protected] @dthompson github.com/dthompson