Skip to content
Snippets Groups Projects
user avatar
authored
Forked from pubsweet / pubsweet
Source project has a limited visibility.

General Requirements

Ketty server is the core reusable component of our publishing platform build on top of Coko Server. The technologies used for the development of the server are:

We provide a pre-built image of Ketty's server for easier deployment and you can find it here

Docker

The server is fully dockerized and plays nicely with Docker version 20.10.23 and Compose 2.15.1

Postgres

Our choice for database is Postgres. You can find more about this db solution here.

Object Storage

Ketty server requires a file sever (object storage) in order to provide its functionality. Our preferred solution is min.io, however Amazon's S3 could be used interchangeably.

Services

Ketty server is based on a microservices approach to ensure scalability. This means that it is heavily relying on the following services:

XSweet Service

XSweet Service is a wrapper on top of XSweet library, which allows users of Ketty platform to upload docx files and convert them into HTML (which is the format the Ketty's editor, Wax, understands). More info about Xsweet can be found here.

XSweet service is a requirement in order Ketty platform to function properly. It should be up and running before someone tries to deploy the actual Ketty platform.

XSweet microservice pre-built image

EPUBchecker Service

EPUBchecker service is a wrapper on top of epubcheck validator provided by IDPF. This service ensures that all of the EPUBs produced by Ketty platform are valid EPUBv3 and accessible based on WCAG 2.0 A standard.

EPUBchecker service is a requirement in order Ketty platform to function properly. It should be up and running before someone tries to deploy the actual Ketty platform.

EPUBChecker microservice pre-built image

PagedJS Service

PagedJS service allows Ketty platform to export books to PDF format as well as facilitate the visual design process. This is possible due to the use of Coko's PagedJS library.

PagedJS service is a requirement in order Ketty platform to function properly. It should be up and running before someone tries to deploy the actual Ketty platform.

PagedJS microservice pre-built image

ICML Service

This service allows Ketty platform to export its books to ICML format via the use of Pandoc library

ICML service is a requirement in order Ketty platform to function properly. It should be up and running before someone tries to deploy the actual Ketty platform.

ICML microservice pre-built image