1.9 KiB
1.9 KiB
AGENTS.md — 3D-Druck Kostenkalkulation
Project structure
app.py— Flask web app (ersetzt das fruehere Tkinter-GUI)3dDruckKalkulator.py— alte Tkinter-Version (nicht mehr verwenden)templates/index.html— Hauptseite mit Formular und Live-Ergebnissentemplates/invoice.html— Rechnungsseite mit PDF-Downloadstatic/style.css— Light-/Dark-Mode-Themingstatic/script.js— Live-Berechnung + Auto-Save beim Tippendruckkalkulation_config.yaml— auto-created/auto-saved state.venv/— virtual environment with all deps
Setup
source .venv/bin/activate
Dependencies: flask, fpdf2 (imported as fpdf), PyYAML. Alle in .venv.
Run
python app.py
# -> http://127.0.0.1:5001
Kein Test, Lint, Typecheck oder CI vorhanden. README.md und AGENTS.md enthalten die Projektdokumentation.
Routes
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | / |
Hauptseite mit Formular |
| POST | /calculate |
JSON-Berechnung (AJAX) |
| POST | /save_config |
Speichert Werte in YAML |
| GET | /invoice |
Rechnungsseite |
| POST | /invoice/pdf |
PDF-Download |
| POST | /export |
TXT-Download |
| GET | /settings |
Einstellungsseite (Druckerabschreibung, Arbeitskosten, Marge) |
Config
druckkalkulation_config.yaml wird beim Start gelesen und bei jeder Eingabe automatisch gespeichert (debounced 500ms via AJAX). Enthaelt alle Formularwerte plus dark_mode. Wird automatisch erstellt — kein manuelles Setup.
Wichtige Fallstricke
fpdfkommt viafpdf2-Paket, Import istfrom fpdf import FPDF(alte API).- Saeamtliche UI-Texte sind Deutsch — Labels, Fehlermeldungen, Rechnungsinhalte.
- Nur
.venv/unddruckkalkulation_config.yamlignorieren (kein.gitignorevorhanden). 3dDruckKalkulator.pyist die alte Tkinter-Version und wird nicht mehr verwendet.