This is a demo application.
The application is responsible of processing, indexing, listing and display EPUB files.
This is a vanilla js application and it's using EPUB.js to extract publication metadata (title, table of contents, page count, textual content, etc).
This is a lambda function that is triggered when EPUB files are uploaded to S3. It retrieves publication metadata, that will be uploaded to S3. Since EPUB.js is not able to run in a node.js environment, the function runs Puppeteer and loads the Parser Application to retrieve the publication metadata.
This service is triggered when publication metedata files are uploaded to S3. That will trigger a step function workflow that will process the cover image, encrypt the publication and create the entry and assets in Contentful. It also exposes a webhook that listens on Contentful changes and reindexes the publication for search in Algolia.
This application is responsible for listing and searching the publications in Algolia. Publications can be opened in an e-reader.