Go to file
2021-02-15 11:55:52 +01:00
CalibreWebCompanion removed hardcoded static files 2021-02-15 11:51:18 +01:00
deployment fixed(?) start.sh 2021-02-15 11:55:52 +01:00
loadtesting deployment, and some load testing 2020-08-01 23:51:34 -03:00
screenshots logging, deployment stuff and readme 2020-08-02 11:21:43 -03:00
.gitignore remove settings from gitignore 2021-02-15 11:46:49 +01:00
Dockerfile added uwsgi to install 2021-02-15 11:53:34 +01:00
README.md changed instructions 2020-08-16 02:11:33 -03:00
requirements.txt pre fixing problems 2020-08-15 01:56:27 -03:00
Running pre fixing problems 2020-08-15 01:56:27 -03:00

What is CalibreWebAlternative?

This is a web server to the popular book management application Calibre. We found that the builtin webserver was kinda shit, so we're building our own. (make this friendlier later)

Features

  • navbar with tags, series, authors, etc
  • Search by author, identifier, title
  • authentication

Some screenshots

Here's how the various lists look like booklist Book detail bookdetail navbar nav Adanced search booklist

requirements

Django 3.0
Calibre 4.13 (I have not tested it with anything else atm, will be resolved later)

how to use:

  1. Docker setup
  2. Non Docker setup

Ignore pretty much everything below if you're not working on the project

Profiling

To do profiling, you have to create some dummy users
Unbakify a file ./loadtesting/dummyusers.json.bak and fill in the credentials for the dummy users

While django is running, open another shell and cd to ./loadtesting and run ./bench.py To have a more interactive session, comment out

run-time = 2m
headless = true

in locust.conf, and then run ./bench.py You can then go to http://localhost:8089/ to see live graphs, tweak the number of users and more.

Finished Features

  • Books
  • navbar with tags, series, authors, etc
  • Search
  • authentication
  • Cache
  • logging
  • deploy instructions

TODO ROADMAP

  • cache with vary headers
  • localisation
  • Beautifying template (only works well on 720p, no other viewports)
  • Setup email functionality (atm, there's only a dummy one, and you can't reset passwords)
  • isolate the styling and templates, so we can swap them out by just swapping directory content