πŸ“š Web service for creating ebooks from collections of websites.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 6630af3 Sep 15, 2018
Permalink
Failed to load latest commit information.
assets Move all assets into a single folder. Jul 23, 2017
bin Add docker-compose setup for EpubPress. Dec 4, 2017
config Add docker-compose setup for EpubPress. Dec 4, 2017
ebooks Include a .gitkeep for ebooks/ Aug 7, 2017
lib Formatting with prettier Dec 17, 2017
logs Keep logs folder Dec 17, 2017
migrations Fix prettier-eslint tab-width Jul 8, 2017
models Add docker-compose setup for EpubPress. Dec 4, 2017
public Firefox install instructions Sep 12, 2018
routes Ensure deliveries to kindle emails always send .mobi. Feb 3, 2018
scripts Add docker-compose setup for EpubPress. Dec 4, 2017
seeders Fix prettier-eslint tab-width Jul 8, 2017
tests Ensure deliveries to kindle emails always send .mobi. Feb 3, 2018
tmp Add folders for covers and images. Nov 27, 2017
views Template fixes + actual retrieval of book. Jul 12, 2016
.dockerignore Add docker-compose setup for EpubPress. Dec 4, 2017
.editorconfig Restore editorconfig to orginal settings + prettify bin/www Nov 12, 2017
.eslintrc Linting fixes Dec 17, 2017
.flowconfig Flow and linting fixes. Apr 8, 2017
.gitignore Remove Gulp and test with npm scripts Nov 26, 2017
API.md Add API TODO and move loadtest.yaml to test Nov 27, 2017
Dockerfile Add docker-compose setup for EpubPress. Dec 4, 2017
ISSUE_TEMPLATE.md Create ISSUE_TEMPLATE.md Nov 27, 2017
LICENSE.md Add GPL license. Nov 13, 2017
README.md Add migration instructions to README Sep 15, 2018
app.js Increase clean schedule Oct 29, 2017
circle.yml Update dependencies Dec 17, 2017
docker-compose.yaml Add docker-compose setup for EpubPress. Dec 4, 2017
newrelic.js Formatting with prettier Dec 17, 2017
package-lock.json Update dependencies Sep 15, 2018
package.json Update dependencies Sep 15, 2018

README.md

epub-press

CircleCI

Backend server for EpubPress.

For clients, see epub-press-clients.

Setup

git clone https://github.com/haroldtreen/epub-press
cd epub-press
npm install

Usage

Docker Setup

  1. Install Docker
  2. docker-compose up

You'll also want to run database migrations if it's your first time running the service:

npx sequelize-cli db:migrate

EpubPress will be running at http://localhost:3000.

Development Setup

  1. Install Docker
  2. docker-compose up postgres
  3. npm start

You'll also want to run database migrations if it's your first time running the service:

npx sequelize-cli db:migrate

EpubPress will be running at http://localhost:3000 and reload upon file changes.

To build a version of EpubPress that talks to a local server, see epub-press-chrome.

Tests

npm run test:integration   # Test API + full article extraction
npm run test:models        # Test models
npm run test:unit          # Test regular JS
npm run test               # Test all of the above

Changes should be accompanied by tests. All tests located in /tests.

API

Description Endpoint
Create a book POST /api/v1/books
Check the status of an in progress book GET /api/v1/books/:id/status
Download an ebook as a file GET /api/v1/books/:id/download
Send the ebook to an email GET /api/v1/books/:id/email
Check versions compatible with the server GET /api/v1/version