```coffeescript
class Workbench.Routers.WorkbenchRouter extends Backbone.Router
  initialize: (options) ->
    if (location.search.length < 1)
      # Demo user read-only key
      apiKey = "3359a8ffba94a54978aa6c645e3c617a"
    else
      params = $.deparam(location.search.split('?')[1])
      apiKey = params.api_key

    Workbench.source = new Geocens.DataService({ api_key: apiKey })

  routes:
    'sensors(/)': 'index'
    'sensors/:id(/)': 'show'

  index: ->
    console.log "loading index route"

    sensors = new Workbench.Collections.SensorsCollection
      source: Workbench.source

    indexView = new Workbench.Views.SensorIndexView
      collection: sensors
      el: $("#apiView")

    indexView.render()
    sensors.fetch()

  show: (id) ->
    console.log "loading show route", id
    if id is "demo"
      # Demo user
      id = "f9b0b42d4b742638f96dfea960ef4735"

    # render show view
    sensor = new Workbench.Models.Sensor
      source: Workbench.source
      uid: id
    sensor.fetch()

    showView = new Workbench.Views.SensorShowView
      model: sensor
      el: $("#sensorView")
    showView.renderBasic()
```

Add demo user api key to URL if not specified
user
```coffeescript
class Workbench.Routers.WorkbenchRouter extends Backbone.Router
  initialize: (options) ->
    if (location.search.length < 1)
      # Demo user read-only key
      @apiKey = "3359a8ffba94a54978aa6c645e3c617a"
    else
      params = $.deparam(location.search.split('?')[1])
      @apiKey = params.api_key

    Workbench.source = new Geocens.DataService({ api_key: @apiKey })

  routes:
    'sensors(/)': 'index'
    'sensors/:id(/)': 'show'

  index: ->
    console.log "loading index route"

    if (location.search.length < 1)
      @navigate "sensors?api_key=#{@apiKey}", { replace: true }

    sensors = new Workbench.Collections.SensorsCollection
      source: Workbench.source

    indexView = new Workbench.Views.SensorIndexView
      collection: sensors
      el: $("#apiView")

    indexView.render()
    sensors.fetch()

  show: (id) ->
    console.log "loading show route", id
    if id is "demo"
      # Demo user
      id = "f9b0b42d4b742638f96dfea960ef4735"

    # render show view
    sensor = new Workbench.Models.Sensor
      source: Workbench.source
      uid: id
    sensor.fetch()

    showView = new Workbench.Views.SensorShowView
      model: sensor
      el: $("#sensorView")
    showView.renderBasic()
```
assistant