The application is currently under a complete rewrite (bump phoenix, automatically extract metadata from epub, ...) You can have a look to the new version (still wip) here
Bookshelf is a tiny web app made to manage your collection of readings.
Since I usually read series of book is usually create one Book
per serie.
When creating your book you can also upload a file to it, for me it's the zip file
containing all serie's ebooks.
Books data include:
- a title
- an author
- a comment
- a note
- a file to store ebook file
- a reading state (still reading or finished)
- a completion state (still begin written or finished)
You can search by author or title in realtime with liveview.
Bookshelf is written in Elixir using Phoenix.
Your bookshelf is protect behind a simple HTTP authentication (USERNAME
and PASSWORD
environment variable are used, defaulting to user
/ password
)
To keep things simple uploaded file are simply written directly into the database.
To start your Phoenix server:
- Setup a
.env.dev
file containing databse configuration variables:DB_USERNAME
,DB_PASSWORD
,DB_HOST
- Source your env file
- Install dependencies with
mix deps.get
- Create and migrate your database with
mix ecto.setup
- Start Phoenix endpoint with
mix phx.server
or inside IEx withiex -S mix phx.server
Now you can visit localhost:4000
from your browser.