[add] rename to AnthoLume
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
97
README.md
97
README.md
@@ -1,101 +1,92 @@
|
||||
# Book Manager
|
||||
<h1 align="center">AnthoLume</h1>
|
||||
<p align="center">Track and Illuminate Your Reading Journey</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/login.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/login.png" width="19%">
|
||||
<a href="https://gitea.va.reichard.io/evan/AnthoLume/src/branch/master/screenshots/web/README.md">Web App</a> - <a href="https://gitea.va.reichard.io/evan/AnthoLume/src/branch/master/screenshots/pwa/README.md">PWA</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/login.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/login.png" width="19%">
|
||||
</a>
|
||||
<a href="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/home.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/home.png" width="19%">
|
||||
<a href="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/home.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/home.png" width="19%">
|
||||
</a>
|
||||
<a href="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/documents.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/documents.png" width="19%">
|
||||
<a href="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/documents.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/documents.png" width="19%">
|
||||
</a>
|
||||
<a href="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/document.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/document.png" width="19%">
|
||||
<a href="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/document.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/document.png" width="19%">
|
||||
</a>
|
||||
<a href="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/metadata.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/BookManager/raw/branch/master/screenshots/pwa/metadata.png" width="19%">
|
||||
<a href="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/metadata.png">
|
||||
<img src="https://gitea.va.reichard.io/evan/AnthoLume/raw/branch/master/screenshots/pwa/metadata.png" width="19%">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">Screenshots</p>
|
||||
<p align="center"><strong><a href="https://antholume-demo.cloud.reichard.io/">Demo Server</a></strong></p>
|
||||
<p align="center"><strong>user:</strong> demo <strong>pass:</strong> demo</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://gitea.va.reichard.io/evan/BookManager/src/branch/master/screenshots/web/README.md">Web App</a> - <a href="https://gitea.va.reichard.io/evan/BookManager/src/branch/master/screenshots/pwa/README.md">PWA</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://drone.va.reichard.io/evan/BookManager" target="_blank">
|
||||
<img src="https://drone.va.reichard.io/api/badges/evan/BookManager/status.svg">
|
||||
<a href="https://drone.va.reichard.io/evan/AnthoLume" target="_blank">
|
||||
<img src="https://drone.va.reichard.io/api/badges/evan/AnthoLume/status.svg">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
**TL;DR:** Show me the [demo](https://books-demo.cloud.reichard.io/)!
|
||||
AnthoLume is a Progressive Web App (PWA) that manages your EPUB documents, provides an EPUB reader, and tracks your reading activity! It also has a [KOReader KOSync](https://github.com/koreader/koreader-sync-server) compatible API, and a [KOReader](https://github.com/koreader/koreader) Plugin used to sync activity from your Kindle. Some additional features include:
|
||||
|
||||
- Username: `demo`
|
||||
- Password: `demo`
|
||||
- OPDS API Endpoint
|
||||
- Local / Offline Reader (via ServiceWorker)
|
||||
- Metadata Scraping (Thanks [OpenLibrary](https://openlibrary.org/) & [Google Books API](https://developers.google.com/books/docs/v1/getting_started))
|
||||
- Words / Minute (WPM) Tracking & Leaderboard (Amongst Server Users)
|
||||
|
||||
This is BookManager! Will probably be renamed at some point. This repository contains:
|
||||
While some features require JavaScript (Service Worker & EPUB Reader), we make an effort to limit JavaScript usage. Outside of the two aforementioned features, no JavaScript is used.
|
||||
|
||||
- Web App / Progressive Web App (PWA)
|
||||
- [KOReader](https://github.com/koreader/koreader) Plugin (See `client` subfolder)
|
||||
- [KOReader KOSync](https://github.com/koreader/koreader-sync-server) compatible API
|
||||
- OPDS API endpoint that provides access to the uploaded documents
|
||||
## Server
|
||||
|
||||
In additional to the compatible KOSync API's, we add:
|
||||
Docker Image: `docker pull gitea.va.reichard.io/evan/antholume:latest`
|
||||
|
||||
- Additional APIs to automatically upload reading statistics
|
||||
- Upload documents to the server (can download in the "Documents" view or via OPDS)
|
||||
- Book metadata scraping (Thanks [OpenLibrary](https://openlibrary.org/) & [Google Books API](https://developers.google.com/books/docs/v1/getting_started))
|
||||
- Limited JavaScript use. Server-Side Rendering is used wherever possible. The main app is fully operational without any JS. JS is only required for:
|
||||
- EPUB Reader
|
||||
- Local / Offline Mode
|
||||
- Service Worker
|
||||
### Local / Offline Reader
|
||||
|
||||
# Server
|
||||
|
||||
Docker Image: `docker pull gitea.va.reichard.io/evan/bookmanager:latest`
|
||||
|
||||
## Local / Offline Reader
|
||||
|
||||
The Local / Offline reader allows you to use any BookManager server as a standalone offline accessible reading app! Some features:
|
||||
The Local / Offline reader allows you to use any AnthoLume server as a standalone offline accessible reading app! Some features:
|
||||
|
||||
- Add local EPUB documents
|
||||
- Read both local and any cached server documents
|
||||
- Maintains progress for all types of documents (server / local)
|
||||
- Uploads any progress or activity for cached server documents once the internet is accessible
|
||||
|
||||
## KOSync API
|
||||
### KOSync API
|
||||
|
||||
The KOSync compatible API endpoint is located at: `http(s)://<SERVER>/api/ko`
|
||||
|
||||
## OPDS API
|
||||
### OPDS API
|
||||
|
||||
The OPDS API endpoint is located at: `http(s)://<SERVER>/api/opds`
|
||||
|
||||
## Quick Start
|
||||
### Quick Start
|
||||
|
||||
```bash
|
||||
# Make Data Directory
|
||||
mkdir -p bookmanager_data
|
||||
mkdir -p antholume_data
|
||||
|
||||
# Run Server
|
||||
docker run \
|
||||
-p 8585:8585 \
|
||||
-e REGISTRATION_ENABLED=true \
|
||||
-v ./bookmanager_data:/config \
|
||||
-v ./bookmanager_data:/data \
|
||||
gitea.va.reichard.io/evan/bookmanager:latest
|
||||
-v ./antholume_data:/config \
|
||||
-v ./antholume_data:/data \
|
||||
gitea.va.reichard.io/evan/antholume:latest
|
||||
```
|
||||
|
||||
The service is now accessible at: `http://localhost:8585`. I recommend registering an account and then disabling registration unless you expect more users.
|
||||
|
||||
## Configuration
|
||||
### Configuration
|
||||
|
||||
| Environment Variable | Default Value | Description |
|
||||
| -------------------- | ------------- | ------------------------------------------------------------------- |
|
||||
| DATABASE_TYPE | SQLite | Currently only "SQLite" is supported |
|
||||
| DATABASE_NAME | book_manager | The database name, or in SQLite's case, the filename |
|
||||
| DATABASE_NAME | antholume | The database name, or in SQLite's case, the filename |
|
||||
| CONFIG_PATH | /config | Directory where to store SQLite's DB |
|
||||
| DATA_PATH | /data | Directory where to store the documents and cover metadata |
|
||||
| LISTEN_PORT | 8585 | Port the server listens at |
|
||||
@@ -118,11 +109,11 @@ The service is now accessible at: `http://localhost:8585`. I recommend registeri
|
||||
- The native KOSync plugin sends an MD5 hash of the password. Due to that:
|
||||
- We store an Argon2 hash _and_ per-password salt of the MD5 hashed original password
|
||||
|
||||
# Client (KOReader Plugin)
|
||||
## Client (KOReader Plugin)
|
||||
|
||||
See documentation in the `client` subfolder: [SyncNinja](https://gitea.va.reichard.io/evan/BookManager/src/branch/master/client/)
|
||||
See documentation in the `client` subfolder: [SyncNinja](https://gitea.va.reichard.io/evan/AnthoLume/src/branch/master/client/)
|
||||
|
||||
# Development
|
||||
## Development
|
||||
|
||||
SQLC Generation (v1.21.0):
|
||||
|
||||
@@ -137,7 +128,7 @@ Run Development:
|
||||
CONFIG_PATH=./data DATA_PATH=./data REGISTRATION_ENABLED=true go run main.go serve
|
||||
```
|
||||
|
||||
# Building
|
||||
## Building
|
||||
|
||||
The `Dockerfile` and `Makefile` contain the build information:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user