Skip to content

bookshelves-project/bookshelves

Repository files navigation

Bookshelves

banner

php laravel filament node license tests

Bookshelves is a web application to handle eBooks, comics and audiobooks. Powered by Laravel.

Features

// TODO

Roadmap

  • Add Docker installation option
  • Add Plex-like solution
  • Add tests

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.