Home > couchdb-projector

couchdb-projector

Couchdb-projector is a project mainly written in JavaScript, it's free.

A CouchApp for showing a presentation.

couchdb-projector

A tiny CouchApp for showing presentations. Designed to use a minimal set of Javascript libraries and work in Javascript-less browsers.

Requirements

  • CouchDB

Libraries Used

  • jquery.presentation.js for the cool presentation effects and base styles and markup.
  • jquery.couchdb.js (included with CouchDB) -- CouchDB helpers for jQuery
  • jquery.couchapp.js -- CouchApp helpers
  • evently -- for event handling, authentication, and synchronized presentation
  • mustache -- templating, both in the browser and on the server side

The Schema

  • One document per presentation
    • _id -- Unique ID of the presentation. Use anything that Couch accepts as a unique document identifier; plain strings work fine are are easy to browse in Futon, but beware: once set, it can't be changed.
    • _rev -- Auto-generated by CouchDB; the unique ID of the revision of this document. Not editable.
    • title -- Human-readable title for the presentation, e.g., "CouchDB: rocking my socks off since 2008"
    • author -- Name and profile of the user who authored this presentation.
    • colophon -- Copyright and contact information to place at the bottom of each slide, any HTML will be displayed unescaped.
    • style -- The name of a presentation style.
    • is_presentation -- Always set this to true.
    • slides -- Array of "slide" objects, each has the following schema:
      • content -- Raw HTML content of the slide.
      • image (optional) -- an image attachment, with the following schema:
        • src -- filename or URL of the image
        • alt (optional) -- Alternate text for the image.
        • attribution (optional) -- Any attribution for the image; for example, for Creative Commons-licensed images.
        • attribution_url (optional) -- link to original image source

Getting Started

The really easy way

Just use it live from slides.fredalger.net. Simple.

A little less easy...

Want your own copy? Replicate the example from my CouchDB server here to your local CouchDB instance.

  1. Pull up Futon; if you're working with CouchDBX or a similar package, that will be at http://localhost:5984/_utils
  2. If you've fixed the "Admin Party" and now have an administrator log in, click "Log In" in the lower-right corner and log yourself in. If you haven't fixed it, I won't tell anyone... but you should really click "Fix This" and set up an admin.
  3. All logged in? Awesome. Make a new database name myslides by clicking "Create Database" at the top.
  4. Congratulations, you're the proud owner of a brand-new empty database.
  5. Click "Replicator" in the right-hand pane, under the dude on the couch.
  6. Click "Remote database" on the left and enter http://fredalger.net:5984/couchdb-projector-example in the "Replicate changes from" box. Under "to" on the right, select myslides from the list of databases.
  7. Click Replicate.
  8. You're done. Pull up your own personal presentation-making tool in the browser at http://localhost:5984/myslides/

The not-so-easy way

I'm assuming you know what to do with a CouchApp. Download or check out a copy of this repo and couchapp push it wherever you'd like.

Previous:misc