1.8 KiB
1.8 KiB
jon
the tamer of garfield
Setup
jon
is a Python WSGI application written using Flask.
This means you'll have to install a bunch of Python packages to get up and running.
Dependencies
pip install -r requirements.txt
You should probably use a virtualenv for that.
I develop jon
using Python 3.10 but it should work with older versions as well.
Arch Linux
If you're on Arch, these packages are required for running the server:
python python-flask python-flask-login python-psycopg2
Building Frontend JS
Most of jon works without JS but there are some features that require it.
The frontend code lives in ./frontend
and is written using Elm, a functional language that compiles to JS.
To compile the Elm code to .js
files, first make sure that the Elm compiler is installed:
elm --version
# 0.19.1
Then run make frontend
.
Running
flask --app jon run --debug
--debug
restarts the server when a source file changes.
fsmi-db forward
ssh -nNTvL 5432:fsmi-db.fsmi.org:5432 fsmi-login.fsmi.uni-karlsruhe.de
TODO
- Implement and document report generation
- How many days will the item last?
- How many do we need to last X months?
- etc.
- Make it print nicely
- Make it possible to edit entries
- Fix unsafe client-side sessions, either:
- Use
flask-session
for file-backed sessions - Use
flask-login
with a single user stored in memory
- Use
- Improve project structure
- Use
flask.flash
for error messages - Implement item and snack entry as Elm application
- Figure out/Add documentation about building
entry.js
- Clean up the code a little and add some comments
- Needs good documentation for maintainability
- Figure out/Add documentation about building
- Use cool new function for deactivating items