69 lines
1.9 KiB
Markdown
69 lines
1.9 KiB
Markdown
# 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](./screenshots/booklist.png)
|
|
Book detail
|
|
![bookdetail](./screenshots/bookdetail.png)
|
|
navbar
|
|
![nav](./screenshots/navbar.png)
|
|
Adanced search
|
|
![booklist](./screenshots/search.png)
|
|
# 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](./deployment/instructions.md#user-content-docker-detup)
|
|
2. [Non Docker setup](./deployment/instructions.md#user-content-non-docker-detup)
|
|
|
|
|
|
# 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/](http://localhost:8089/) to see live graphs, tweak the number of users and more.
|
|
|
|
|
|
# Finished Features
|
|
|
|
- [x] Books
|
|
- [x] navbar with tags, series, authors, etc
|
|
- [x] Search
|
|
- [x] authentication
|
|
- [x] Cache
|
|
- [x] logging
|
|
- [x] 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
|
|
|
|
|
|
|
|
|
|
|