Generate standalone HTML inventory forms from YAML config
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
killercow 03991517b2
Compress photos for email to fit mailto limits
2 weeks ago
examples Compress photos for email to fit mailto limits 2 weeks ago
src Compress photos for email to fit mailto limits 2 weeks ago
.gitignore Initial commit: EasySmartInventory v1.0.0 2 weeks ago
README.md Initial commit: EasySmartInventory v1.0.0 2 weeks ago
project_findings.md Initial commit: EasySmartInventory v1.0.0 2 weeks ago
project_plan.md Initial commit: EasySmartInventory v1.0.0 2 weeks ago
project_progress.md v1.0.1: Add form history with unique ID support 2 weeks ago
requirements.txt Initial commit: EasySmartInventory v1.0.0 2 weeks ago

README.md

EasySmartInventory

Genereer interactieve standalone HTML inventarisatieformulieren op basis van YAML configuratie.

Features

  • 📝 YAML configuratie - Definieer alle velden, validatie en opties in YAML
  • 📱 Responsive - Werkt op iPad, iPhone, Android en desktop
  • 💾 Auto-save - Automatisch opslaan naar localStorage
  • 📤 CSV Export - Exporteer naar CSV met base64 foto's
  • 📧 Mailto - Direct mailen vanuit de browser
  • 🎨 Themes - Kies uit modern, corporate of minimal stijl
  • 🏢 Branding - Eigen logo en kleuren

Installatie

cd EasySmartInventory
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Gebruik

# Genereer HTML uit YAML configuratie
python src/generator.py examples/config.yaml

# Output: examples/Machine_Inventarisatie.html

YAML Configuratie

Zie examples/config.yaml voor een volledig voorbeeld.

Basis structuur

name: "Inventarisatie Naam"
version: "1.0.0"

style:
  theme: "modern"  # modern, corporate, minimal
  logo: "base64_string_or_url"
  primary_color: "#007bff"

export:
  csv:
    enabled: true
  mailto:
    enabled: true
    to: "inventory@company.com"
    subject_prefix: "Inventarisatie"
    subject_fields: ["Serienummer"]

sections:
  - name: "Sectie Naam"
    fields:
      - id: "veld_id"
        label: "Veld Label"
        type: "text"
        required: true

Field Types

Type Beschrijving Extra opties
text Tekstveld min_length, placeholder
number Numeriek veld min, max
date Datumveld format (dd-mm-yyyy)
dropdown Keuzelijst options (array)
multiselect Meerdere keuzes options (array)
boolean Ja/Nee toggle -
photo Foto upload max_width, max_height
textarea Groot tekstveld rows

Validatie opties

  • required: true - Veld is verplicht
  • min_length: 5 - Minimaal aantal karakters
  • min: 0 / max: 100 - Bereik voor nummers

Voorbeelden

Drie voorbeeldstijlen zijn beschikbaar:

  • examples/inventory_modern.html - Modern design met shadows
  • examples/inventory_corporate.html - Zakelijk en professioneel
  • examples/inventory_minimal.html - Minimalistisch en clean

Export

CSV

  • Klik "Exporteer CSV" om data te downloaden
  • Foto's worden opgeslagen als base64
  • UTF-8 encoding met BOM voor Excel

Email

  • Klik "Verstuur per Email" om mailclient te openen
  • Subject bevat configureerbare prefix + veldwaarden
  • Body bevat gestructureerde data

Versie

Huidige versie: 1.0.0

Licentie

MIT License

Powered by TurnKey Linux.