bookshelves
bookshelves copied to clipboard
Web application to handle eBooks.
Bookshelves
Bookshelves is a web application to handle eBooks, comics and audiobooks. Powered by Laravel.
- bookshelves-project: Bookshelves project repository
-
bookshelves.ink: demo (front uses
bookshelves-front
) - bookshelves-documentation.netlify.app: documentation from this repository
Features
// TODO
Roadmap
- [ ] Add Docker installation option
- [ ] Add Plex-like solution
- [ ] Add tests
- [ ] split sliders books, audiobooks, comics, manga and series split at home
- [ ] find duplicate authors
- [ ] find duplicates series like A comme Association (multiple authors)
Installation
Download dependencies
composer i
pnpm i
Create .env
file
cp .env.example .env
Generate application key
php artisan key:generate
Create symbolic link for storage
php artisan storage:link
Migrate database with seeders
php artisan migrate:fresh --seed
Build assets
pnpm dev
Add librairies
For books
BOOKSHELVES_LIBRARY_BOOKS=/path/to/books
BOOKSHELVES_LIBRARY_COMICS=/path/to/comics
BOOKSHELVES_LIBRARY_MANGAS=/path/to/mangas
BOOKSHELVES_LIBRARY_AUDIOBOOKS=/path/to/audiobooks
Usage
Execute scan command to check if books are available, -v
option for verbose mode
php artisan bookshelves:scan
And execute setup command to scan books and create database entries, -f
option for fresh mode
php artisan bookshelves:setup -f
To get full documentation, you can read Bookshelves documentation.
Tests
Run tests.
composer test
Environment
Bookshelves is powered by laravel
and administrator panel was built with filament
.
Search engine uses meilisearch
with laravel/scout
.
EBooks, comics and audiobooks are handled by kiwilan/php-ebook
and OPDS feature built by kiwilan/php-opds
.
A lot of amazing spatie
packages are used in this project.
License
The Bookshelves is open-sourced software licensed under the BSD 2-Clause License.