.github/ISSUE_TEMPLATE | ||
.idea | ||
docs/images | ||
tools/ci | ||
web | ||
.editorconfig | ||
.gitignore | ||
.golangci.yml | ||
.pre-commit-config.yaml | ||
CONTRIBUTING.md | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.md |
What is BookStairs?
BookStairs is an open-source personal EPUB library which was highly inspired by talebook, calibre-web and BookBrowser.
It's designed to serve millions of books. Aims to provide high performance, readability compared with its competitors. And it's easy to be deployed on any Unix-like systems by docker.
- High performance
BookStairs didn't use metadata.db
which was created by calibre directly. We would index all the books' metadata by
bluge which can provide a better searching performance comparing to SQLite3.
Although bluge isn't fast enough compared to elasticsearch, it's fast enough to serve the book indexing in memory mode.
- Better book organize
The books' category is defined by the Chinese Library Classification. Putting all the files into SeaweedFS for fast file access. This will make the S3 support out of box.
- Better book deduplication
We would deduplication the book by its CIP (Cataloging in Publication) in China and ISBN.
- Better chinese books metadata management
A lot of Chinese EPUBs don't have valid metadata. We would correct it by CIP database and a builtin Douban spider.
- Readability
We provide a built-in online reader which supports bookmarks, quotes, notes and highlights. Every user could have unlimited bookshelf for personal needs.
- Easy distribution
The bookstairs was designed to be distributed with only one file on all the platforms. You don't need any predefine configuration file. Just download the latest release file and execute it in a working directory. The bookstairs would auto create the database and application data files by your settings on a user-friendly web interface.
State of this project
The current master branch is unstable and is not recommended for production use. BookStairs 1.0.0 (what will be the first release version) is currently in the development stage.
Contributing
Contributions are welcomed and greatly appreciated. See CONTRIBUTING for details on submitting patches and the contribution workflow.
License
BookStairs is licensed under the AGPL-3.0. You are free to use this or modify project, but the only thing you need to do is to share your modifications.
See the LICENSE file for details.