54 lines
1.2 KiB
Markdown
54 lines
1.2 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
|
|
- [ ] Improve project structure
|
|
- [ ] Figure out/Add documentation about building `entry.js`
|
|
- [ ] Use `flask.flash` for error messages
|