The Python web frontend to generate your pixel perfect report booklet
Project description
Report Booklet Writer
Never write a report booklet on your own again, Report Booklet Writer does it for you!
[Only supports German (DE) standard report booklets right now]
About
This Project let's you save all your reports from single weeks into one big database, and when you feel like it, you can export all weeks correctly ordered and pixel perfect aligned into one PDF. Isn't that awesome?
Features
-
Native Nginx & UWSGI support
-
Native Docker & Buildah support (relatively untested, be careful!)
-
Multi-User-Management
-
Todolist integration
-
Report Booklet Overview
-
Export-Everything-Button
Installation
From PyPI (recommended):
pip install rbwriter
# Run it
# -> make sure ~/.local/bin is on your PATH or you installed it with sudo for all users
rbwriter
From GitHub (build from source):
# First clone the project
git clone https://github.com/TheCoder777/Report-Booklet-Writer.git
# Change directory
cd Report-Booklet-Writer
# OPTIONAL: checkout the release you want
# git checkout v0.1-alpha.1
# Install requirements
pip install .
# Run it
# -> make sure ~/.local/bin is on your PATH or you installed it with sudo for all users
rbwriter
From GitHub releases:
- Download the wheel (.whl) file from the releases section (get the release you want)
- install with
pip install *.whl
- run with
rbwriter
With Docker:
# First clone the project
git clone https://github.com/TheCoder777/Report-Booklet-Writer.git
# Change directory
cd Report-Booklet-Writer
# OPTIONAL: checkout the release you want
# git checkout v0.1-alpha.1
# build container (make sure Docker is installed and working!)
docker build -t "some-example-tag" .
# run container
docker run -p 80:80 "some-example-tag"
# stop container
docker stop "some-example-tag"
With Podman / Buildah:
# First clone the project
git clone https://github.com/TheCoder777/Report-Booklet-Writer.git
# Change directory
cd Report-Booklet-Writer
# OPTIONAL: checkout the release you want
# git checkout v0.1-alpha.1
# build container (make sure Buildah and Podman are installed and working!)
buildah build-using-dockerfile -t "some-example-tag"
# run container
podman run "some-example-tag"
# stop container
podman stop "some-example-tag"
Usage
Start rbwriter, go to localhost:80 (current default) and either click on 'create account' click the quickedit icon on sidebar (try to hover for a little bit!) or click on 'Use as Guest'.
That's it!
You can now either download the single PDFs in 'edit' mode, or export all to one PDF in the overview tab!
Users
Every account has a nickname that can be changed in the settings (it's pretty useless right now, but you'll use this to login later!)
You Email needs to be in a name@provider.domain
format
Your password needs to have:
- 8 characters
- one capital letter
- one number
- one special character
Now you're logged in! Congratulations!
Configuration
You can configure all settings via the web interface on /settings or by clicking on the settings icon in the sidebar!
Do me a favor and be careful with some settings like start week
and start year
, this often gets easily messed up.
If you like the extreme, or you just want to mess around, you may also edit the defines/configs.py
file. (Do this on your own risk!)
You'll be notified if everything went the correct way when you click the save button!
To reset the configuration, just click the reset button! (This is to reset the values you put in since the last refresh)
The 'reset to default button' will hard reset your configuration to absolute defaults, with no chance to restore your data, so please be careful with that!
Troubleshooting
The rbwriter
command doesn't exist:
If the rbwriter
command doesn't exist, you probably haven't set up your PATH correctly.
Make sure that ~/.local/bin
(local installation) and /usr/lib/pythonx.x/site-packages/
(global installation) are both on your PATH!
You can check your path with echo $PATH
.
Debugging
You can easily debug the project by using a 'debug' flag when running:
rbwriter debug
This will launch an instance of the flask development server on the default localhost:5000.
Flask flags:
All flags given to rbwriter
will be handed over directly to the flask run
command!
Long-Term Todos
- Use a different Database structure!
- Maybe SQLAlchemy
- Every user has its own table (not a completely different database...)
- Mail server (just wait for it, you'll see)
- Private/Public Profile setting
- all TODOs in the code (
# TODO: ...
) - More flexible export (e.g. export from week 45 to 51 in 2021)
- Multiple PDF templates
- Mappings for easier support
- Select the PDF template before export (standard template in settings)
- New Frontend (right now it's pretty un-scalable for further features)
- Recommended Todolist-tasks to tick after saving a report booklet
- Progress of how much of the Todolist is done (on the Todolist page / stats page)
- Make a stats page with cool stats (how much words written or something like this)
- Search-bars everywhere
License
The project is licensed under the MIT license.
This project has guidelines for:
Current maintainer and owner: TheCoder777
Cheers!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rbwriter-0.1a2.tar.gz
.
File metadata
- Download URL: rbwriter-0.1a2.tar.gz
- Upload date:
- Size: 84.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e56d1d01178eebeddcd5cfdf02627095a9900c35d33e7ec49f17f27b0c9613a |
|
MD5 | 572252a8b73d5deb10f1b3a841f87942 |
|
BLAKE2b-256 | c82425a6a06cec96533d23728eb7f73c4ba4700e7628ca4c60eb9f2a7cdada06 |
File details
Details for the file rbwriter-0.1a2-py3-none-any.whl
.
File metadata
- Download URL: rbwriter-0.1a2-py3-none-any.whl
- Upload date:
- Size: 89.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9397c851a6235dab0be9baa4e49282f12e9940496c352c9e9003116c4cf93a4a |
|
MD5 | ab5a6223b151d5565dbb448756e745ed |
|
BLAKE2b-256 | dbc2813bd0b97775c9b5bf81091e0896d84c4c3fc9313dc01e6ef8f9041da436 |