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.
112 lines
2.6 KiB
112 lines
2.6 KiB
# 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
|
|
|
|
```bash
|
|
cd EasySmartInventory
|
|
python3 -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Gebruik
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```yaml
|
|
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
|