• This repository has been archived on 01/Sep/2021
  • Stars
    star
    116
  • Rank 302,981 (Top 6 %)
  • Language
    JavaScript
  • Created over 15 years ago
  • Updated about 14 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a couchapp that lets you give a presentation by panning, rotating and zooming in an svg/png/pdf file

Boom Amazing...

... is a web application that allows you to zoom/rotate/pan around in an image, record the different positions and then replay those for a presentation.

The image can be either a pixel based format e.g. png/gif/jpg, an svg file or a pdf.

Boom Amazing uses CouchDB to store its data and CouchApp to upload itself into CouchDB. (Since CouchDB has a built-in web server everything is served directly by CouchDB)

Running it

Installation Using CouchApp

  • Install CouchDB
  • Install CouchApp (requires Python)
  • Clone the Boom Amazing Repo
  • push the app to a CouchDB database by changing to the checkout and running couchapp push

Replication

Alternatively you can just replicate an existing database that contains boom amazing. The easiest way to to this is to use Futon (http://localhost:5984/\_utils), click on Replicate on the right and choose a source database and a local destination.

I host one boom amazing installation on my couchone account, so you can just replicate from there: http://langalex.couchone.com/boom\_amazing

Using it

  • create an empty document in the boom_amazing database and upload your svg/png/gif/pdf file, for example using Futon (http://localhost:5984/_utils)
  • Go to http://localhost:5984/your\_db/boom\_amazing/\_design/boom_amazing/index.html
  • Choose your presentation from the dropdown in the toolbar
  • Start moving around, click save to record a position ("add a slide")
    • hold down [alt] and move the mouse up/down to zoom
    • hold down [ctrl] and move the mouse left/right to rotate
  • Replay the saved positions by clicking the next/previous links in the toolbar at the top
  • Hack the code, add something awesome, share it on GitHub

URLs

pixel vs. svg vs. pdf presentations

  • pixel images make it easier to embed photos, better performance, but you can see the pixels at some point
  • svg can zoom in infinitely, but performance problems with more complex presentations
  • creating svg files on the mac is a pain, so i added pixels
  • new: PDFs. pdfs combine the best of both worlds: you have unlimited zoom for vectors and can still embed pixel based images. also: the rendering performance compared to svg/pixels is just amazing. i highly recommend using pdfs.

Contact

Alexander Lang [email protected] http://twitter.com/langalex

Disclaimer

Currently this only runs on relatively new Webkit version that support the webkit-transform and webkit-transform-origin CSS properties.

Ideas

  • use the browser's LocalStorage instead/in addition to CouchDB so this could run on e.g. iPads
  • support gestures for zoom/rotate instead of holding down keys

More Repositories

1

couch_potato

Ruby persistence layer for CouchDB.
Ruby
325
star
2

culerity

Culerity integrates Cucumber and Celerity in order to test your application's full stack including Javascript. Your Rails app doesn't have to run in JRuby.
Ruby
260
star
3

totally-restful-authorization

This plugin adds an authorization layer to your rails app that is totally transparent to your restful controllers and a DSL for declaring permissions on your models.
Ruby
30
star
4

hejhej

This is a CouchApp I have written for fun and to demonstrate how to test drive CouchApps with Cucumber. Its purpose is to help learn new (spoken) languages.
JavaScript
24
star
5

mite_enterprise

a node.js/sammy.js webapp that pulls together reports from multiple mite (http://mite.yo.lk) time tracking accounts
JavaScript
16
star
6

dead_simple_reports

create reports via sql or ruby code for your rails app in minutes
Ruby
15
star
7

local_cache

A ruby on rails (>= 2.1) plugin that extends the cache store with an in memory cache to enhance caching performance and solves a race conditions. (replaces extended_fragment_cache)
Ruby
8
star
8

realtimebattle_rb

simplified ruby implementation of realtimebattle
Ruby
7
star
9

forms-fu

enhanced form handling for rails applications
Ruby
7
star
10

web_spell

WebMock for Elixir. Dynamically stub HTTP requests in your tests.
Elixir
6
star
11

couchfoto

An example CouchDB/Rails application to demonstrate Basic CouchDB usage and attachment uploads. Based on Couch Potato.
Ruby
4
star
12

couchonrails

couchonrails.org website: guides for using couchdb with ruby
2
star
13

plants_alive

an in browser app that tracks when the plants have been watered the last time
JavaScript
2
star
14

rails_girls_project_group

Collection of meeting notes, homework and (in the future) code from our Rails Girls project group
Ruby
2
star
15

resource_potato

something like resource_controller but for CouchPotato/CouchDB and smaller
Ruby
2
star
16

jsrumble

JavaScript Rumble Website
Ruby
1
star