Compare commits
8 Commits
4d7e352220
...
main
Author | SHA1 | Date | |
---|---|---|---|
1a12dcd1d0 | |||
|
9f7bc8086c | ||
|
833287222d | ||
|
e2cdaf059a | ||
|
b2e8192a2d | ||
|
3a15183094 | ||
|
08d668c984 | ||
|
24e9d83a52 |
19
README.md
19
README.md
@@ -1,6 +1,6 @@
|
|||||||
# erdbeerhannah
|
# erdbeerhannah
|
||||||
|
|
||||||
*Simple Rechner-App für Erdbeerstände*
|
*Simple Rechner-App für Erdbeerstände (und ähnliche Verkausstellen)*
|
||||||
|
|
||||||
## Motivation
|
## Motivation
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@ Viele Erdbeerstände in Deutschland haben keine elektronische Kasse. Aufgrund de
|
|||||||
|
|
||||||
Für jeden Artikel gibt es einen großen Knopf. Ein Klick addiert 1x den ausgewählten Artikel zur Gesamtsumme. Optional kann per Eingabefeld das Wechselgeld berechnet werden.
|
Für jeden Artikel gibt es einen großen Knopf. Ein Klick addiert 1x den ausgewählten Artikel zur Gesamtsumme. Optional kann per Eingabefeld das Wechselgeld berechnet werden.
|
||||||
|
|
||||||
Eine Demo-Instanz der App kann [hier](https://erdbeerhannah.elpatron.me/) zum freien Testen aufgerufen werden.
|
Eine Demo-Instanz der App kann [hier](https://erdbeerhannah.elpatron.me/) zur freien Nutzung aufgerufen werden.
|
||||||
|
|
||||||
Die Demo-Instanz ist werbefrei und die Nutzung dauerhaft kostenlos. Details siehe in den Abschnitten *Anpassung* und *Privatsphäre*.
|
Die Demo-Instanz ist werbefrei und die Nutzung dauerhaft kostenlos. Details siehe in den Abschnitten *Anpassung* und *Privatsphäre*.
|
||||||
|
|
||||||
@@ -39,6 +39,8 @@ Die Bereitstellung der App erfolgt am einfachsten mit Docker:
|
|||||||
|
|
||||||
`git clone https://gitea.elpatron.me/elpatron/erdbeerhannah.git`
|
`git clone https://gitea.elpatron.me/elpatron/erdbeerhannah.git`
|
||||||
|
|
||||||
|
`cd erdbeerhannah`
|
||||||
|
|
||||||
`docker image build -t erdbeerhannah:latest .`
|
`docker image build -t erdbeerhannah:latest .`
|
||||||
|
|
||||||
`docker run -p 9090:90 -t erdbeerhannah:latest`
|
`docker run -p 9090:90 -t erdbeerhannah:latest`
|
||||||
@@ -53,16 +55,15 @@ Die App *erdbeerhannah* protokolliert keinerlei Daten. Keine IP-Adressen, keine
|
|||||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
Version 2, December 2004
|
Version 2, December 2004
|
||||||
|
|
||||||
Copyright (C) 2024 Markus Busche; Knorrstr. 16, 24106 Kiel, Germany
|
Copyright (C) 2024 Markus Busche; Knorrstr. 16, 24106 Kiel, Germany
|
||||||
|
|
||||||
Everyone is permitted to copy and distribute verbatim or modified
|
Everyone is permitted to copy and distribute verbatim or modified
|
||||||
copies of this license document, and changing it is allowed as long
|
copies of this license document, and changing it is allowed as long
|
||||||
as the name is changed.
|
as the name is changed.
|
||||||
|
|
||||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||||
```
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
19
app.py
19
app.py
@@ -1,6 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
|
import time
|
||||||
import logging
|
import logging
|
||||||
from flask import Flask, render_template, request, session, send_from_directory
|
from flask import Flask, render_template, request, session, send_from_directory, g
|
||||||
from flask_bootstrap import Bootstrap
|
from flask_bootstrap import Bootstrap
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@@ -17,7 +18,7 @@ app.logger.addHandler(handler)
|
|||||||
|
|
||||||
Bootstrap(app)
|
Bootstrap(app)
|
||||||
|
|
||||||
version = "1.0.7/2024-05-27"
|
version = "1.0.9/2024-05-28"
|
||||||
postcounter = 0
|
postcounter = 0
|
||||||
gesamtwert = 0
|
gesamtwert = 0
|
||||||
change = 0
|
change = 0
|
||||||
@@ -30,7 +31,13 @@ item4 = 0
|
|||||||
item5 = 0
|
item5 = 0
|
||||||
item6 = 0
|
item6 = 0
|
||||||
|
|
||||||
app.logger.info('Starting erdbeerhannah v' + version)
|
app.logger.info('Starting erdbeerhannah ' + version)
|
||||||
|
|
||||||
|
# https://code-maven.com/flask-display-elapsed-time
|
||||||
|
@app.before_request
|
||||||
|
def before_request():
|
||||||
|
g.request_start_time = time.time()
|
||||||
|
g.request_time = lambda: "%.4fs" % (time.time() - g.request_start_time)
|
||||||
|
|
||||||
# prevent cached responses
|
# prevent cached responses
|
||||||
# https://stackoverflow.com/questions/47376744/how-to-prevent-cached-response-flask-server-using-chrome
|
# https://stackoverflow.com/questions/47376744/how-to-prevent-cached-response-flask-server-using-chrome
|
||||||
@@ -78,15 +85,15 @@ def index():
|
|||||||
sum = str(gesamtwert) + "0"
|
sum = str(gesamtwert) + "0"
|
||||||
|
|
||||||
# summarize items
|
# summarize items
|
||||||
if wertfloat == 5.8:
|
if wertfloat == 4.9:
|
||||||
item1 += 1
|
item1 += 1
|
||||||
if wertfloat == 4.8:
|
if wertfloat == 4.8:
|
||||||
item2 += 1
|
item2 += 1
|
||||||
if wertfloat == 3.3:
|
if wertfloat == 3.3:
|
||||||
item3 += 1
|
item3 += 1
|
||||||
if wertfloat == 8.8:
|
if wertfloat == 4.5:
|
||||||
item4 += 1
|
item4 += 1
|
||||||
if wertfloat == 5.5:
|
if wertfloat == 5:
|
||||||
item5 += 1
|
item5 += 1
|
||||||
if wertfloat == .2:
|
if wertfloat == .2:
|
||||||
item6 += 1
|
item6 += 1
|
||||||
|
@@ -87,13 +87,13 @@
|
|||||||
<td colspan="3">erdbeerrechner 🍓💶</td>
|
<td colspan="3">erdbeerrechner 🍓💶</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><button type="submit" name="wert" value="5.8" data-toggle="tooltip" data-placement="top" title="500g Erdbeeren" class="btn btn-xl btn-primary custom-btn-size">🍓 5,80€ ({{ item1 }})</button></td>
|
<td><button type="submit" name="wert" value="4.9" data-toggle="tooltip" data-placement="top" title="500g Erdbeeren" class="btn btn-xl btn-primary custom-btn-size">🍓 4,90€ ({{ item1 }})</button></td>
|
||||||
<td><button type="submit" name="wert" value="4.8" data-toggle="tooltip" data-placement="top" title="Marmelade groß" class="btn btn-xl btn-danger custom-btn-size">🫙🫙 4,80€ ({{ item2 }})</button></td>
|
<td><button type="submit" name="wert" value="4.8" data-toggle="tooltip" data-placement="top" title="Marmelade groß" class="btn btn-xl btn-danger custom-btn-size">🫙🫙 4,80€ ({{ item2 }})</button></td>
|
||||||
<td><button type="submit" name="wert" value="3.3" data-toggle="tooltip" data-placement="top" title="Marmelade klein" class="btn btn-xl btn-danger custom-btn-size">🫙 3,30€ ({{ item3 }})</button></td>
|
<td><button type="submit" name="wert" value="3.3" data-toggle="tooltip" data-placement="top" title="Marmelade klein" class="btn btn-xl btn-danger custom-btn-size">🫙 3,30€ ({{ item3 }})</button></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><button type="submit" name="wert" value="8.8" data-toggle="tooltip" data-placement="top" title="Saft 5l" class="btn btn-xl btn-warning custom-btn-size">🧃🧃 8,80€ ({{ item4 }})</button></td>
|
<td><button type="submit" name="wert" value="5.0" data-toggle="tooltip" data-placement="top" title="500g Kirschen" class="btn btn-xl btn-warning custom-btn-size">🍒 5,00€ ({{ item4 }})</button></td>
|
||||||
<td><button type="submit" name="wert" value="5.5" data-toggle="tooltip" data-placement="top" title="Saft 3l" class="btn btn-xl btn-warning custom-btn-size">🧃 5,50€ ({{ item5 }})</button></td>
|
<td><button type="submit" name="wert" value="4.5" data-toggle="tooltip" data-placement="top" title="500g Himbeeren" class="btn btn-xl btn-warning custom-btn-size">🫐 4,50€ ({{ item5 }})</button></td>
|
||||||
<td><button type="submit" name="wert" value="0.2" data-toggle="tooltip" data-placement="top" title="Tragetasche" class="btn btn-xl btn-success custom-btn-size">🛍️ 0,20€ ({{ item6 }})</button></td>
|
<td><button type="submit" name="wert" value="0.2" data-toggle="tooltip" data-placement="top" title="Tragetasche" class="btn btn-xl btn-success custom-btn-size">🛍️ 0,20€ ({{ item6 }})</button></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3">Made with ♥️, marmalade and zero knowledge in <a href="https://kiel-sailing-city.de/" target="_blank">Kiel Strawberry City.</a><br>
|
<td colspan="3">Made with ♥️, marmalade and zero knowledge in <a href="https://kiel-sailing-city.de/" target="_blank">Kiel Strawberry City.</a><br>
|
||||||
Version: {{ version }}, <a href="https://gitea.elpatron.me/elpatron/erdbeerhannah/src/branch/main/README.md" target="_blank">Infos</a></td>
|
Version: {{ version }} ({{ g.request_time() }}), <a href="https://gitea.elpatron.me/elpatron/erdbeerhannah/src/branch/main/README.md" target="_blank">Infos</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</form>
|
</form>
|
||||||
|
Reference in New Issue
Block a user