An online eBook (.epub) reader, PoweredbySpritz™.


Blitz allows users to upload eBook (.epub) files to be read with Spritz reading technology. The uploaded file contents are parsed and rendered into plain text (left side of screenshot). It is also unzipped and (temporarily) saved to disk to be able to display the actual eBook into view (right side of screenshot). The algorithm is as follows:
- User uploads a .epub file through CarrierWave
- File is parsed and processed using epub-parser
- File is then unzipped using zipruby. Unzipped contents are (temporarily) saved to disk on Heroku server
- Text content (to be Spritz'd) from each page of the eBook is parsed using Nokogiri
- Pages paginated with will_paginate-bootstrap
Seems like overkill, but each technology does their own part to ultimately render page content to plain text and display the actual eBook to the view.
- User sign-up (without requiring Facebook)
- Link multiple social network accounts to one user (e.g. Google+, Twtitter, etc.)
- Book recommendations (from Facebook friends, Amazon products)
- Force encoding of eBook preview to UTF-8. Currently, eBook files are being uploaded to AWS S3 and is previewed using an HTML iframe object. Is there a way to read these files in UTF-8?
- Handle upload errors (some eBooks won't upload....)
Feel free to fork and send some pull requests. Any suggestions for improvements are welcomed, but I am especially looking for those who can help me with my "TODO" list.