vendor dropzone.js js library
extract secret key base to the environment
add restforce gem
use canvas request decode from restforce

Also store needed context required across pages into the users encrypted
cookie session. Space is limited however and a better solution for
production environments could be to use the rails cache store backed by
redis or memcache.
remove dropzone.js
add resque
add basic job to process file