Chris Pollett > Students > He

    Print View


    [CS 297 Proposal]


    [Deliverable #1:EPUB.ppt]

    [Deliverable #2:an sample EPUB book]

    [Deliverable #3:JS Sequitur algorithm]

    [Deliverable #4:DB schema design]

    [CS297 Report PDF]

    [CS298 Proposal]

    [CS298 Report PDF]

    [CS298 Presentation PDF]

    [CS298 source code zip file]


CS297 Proposal

A Javascript and PHP EPUB reader web application

Xiaqing He (

Advisor: Dr. Chris Pollett


EPUB, like PDF and Word, is a format for representing documents in electronic form. It is used by many eReaders such as iBooks, Blackberry Playbooks, Sony Reader and so on. There are also browser add-ons for Firefox to read ePub files.

The drawback of eReaders is platform lock-in, and the drawback of an add-on is the inability to easily sync page positions across multiple devices.

In this project, we intend to create a Javascript and PHP web application for the ePub format solving both of these problems.


Week 1: Feb.3-9Learn EPUB format, read Garrish2011
Week 2: Feb.10-16How to read ePub-files? Learn EPUBReader in Firefox and other application
Week 3: Feb.17-23Complete Deliverable #1
Week 4-7: Feb.24-Mar.23Work on Deliverable #2
Week 8-11: Mar.24-Apr.20Work on Deliverable #3
Week 12-15: Apr.21-27Work on Deliverable #4
Week 16: May.19-24Complete Deliverable #5 and proposal for CS298


The full project will be done when CS298 is completed. The following will be done by the end of CS297:

1. Power Point describing EPUB format

2. Create by hand an EPUB document with table of contents and at least two chapters

3. Implement sequitar algorithm for compression/decompression by JavaScript

4. Create a database and PHP APIs so could handle page position data for multiple books and users

5. Finish CS297 report


[Garrish2011] What is EPUB 3? Matt Garrish, O'Reilly Media, 2011.

[Davies]Creating and formatting documents for e-readers using ePub.

CS154's (taught by Professor Pollett) lecture on Mar. 18, 2013, grammar-based compression algorithm: sequitur

Guide of CakePHP: the rapid development php framework

references of compression and decompression with Javascript