jon/README.md

57 lines
1.4 KiB
Markdown

# 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 item and snack entry as Elm application
- [ ] Needs good documentation for maintainability
- [ ] 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
- [ ] Figure out/Add documentation about building `entry.js`
- [ ] Use `flask.flash` for error messages