jon
the tamer of garfield
Setup
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.
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-sessionfor file-backed sessions - Use
flask-loginwith a single user stored in memory
- Use
- Improve project structure
- Use
flask.flashfor 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
Description
Languages
Elm
40%
HTML
29.4%
Python
26.4%
CSS
2.8%
Dockerfile
1.1%
Other
0.3%