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-session for file-backed sessions
    • Use flask-login with a single user stored in memory
  • 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
Description
No description provided
Readme 271 KiB
Languages
Elm 40%
HTML 29.4%
Python 26.4%
CSS 2.8%
Dockerfile 1.1%
Other 0.3%