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.
79 lines
2.3 KiB
79 lines
2.3 KiB
# EasySmartInventory - Findings & Decisions
|
|
|
|
## Requirements Analysis
|
|
|
|
### Must-Have Features
|
|
1. **YAML configuratie** - Alle velden en opties via YAML
|
|
2. **Standalone HTML** - Enkel bestand, geen externe dependencies
|
|
3. **Field types**:
|
|
- Text (met min_length validatie)
|
|
- Number (met min/max)
|
|
- Date (configureerbaar formaat)
|
|
- Dropdown (single select)
|
|
- Multiselect (checkboxes)
|
|
- Boolean (ja/nee toggle)
|
|
- Photo (camera/upload, base64)
|
|
4. **Verplichte velden** - Markering en validatie
|
|
5. **Auto-save** - LocalStorage met URL state
|
|
6. **CSV Export** - Met base64 foto
|
|
7. **Mailto** - Configureerbare prefix en velden in subject
|
|
8. **Responsive** - iPad, iPhone, Android, Desktop
|
|
9. **Versienummer** - In HTML zichtbaar
|
|
10. **Bedrijfslogo** - Configureerbaar
|
|
|
|
### Technical Decisions
|
|
|
|
#### 1. Standalone HTML Approach
|
|
**Beslissing**: Alle CSS en JS inline in HTML
|
|
**Reden**: Makkelijk te delen, geen dependencies
|
|
**Trade-off**: Groter bestand, maar acceptabel
|
|
|
|
#### 2. Auto-save Strategy
|
|
**Beslissing**: LocalStorage + URL parameters
|
|
**Implementatie**:
|
|
- LocalStorage key = document naam + versie
|
|
- URL hash voor sharing (#field1=value1&field2=value2)
|
|
- Save elke 5 seconden bij wijzigingen
|
|
|
|
#### 3. Mailto Limitatie
|
|
**Probleem**: Mailto kan geen echte bijlagen
|
|
**Oplossing**:
|
|
- Foto base64 in body (kan lang zijn)
|
|
- Of: aparte instructie om foto apart te mailen
|
|
- Body bevat gestructureerde data voor parsing
|
|
|
|
#### 4. CSV Export
|
|
**Beslissing**: Client-side generatie met download
|
|
**Implementatie**:
|
|
- Blob + download link
|
|
- UTF-8 met BOM voor Excel compatibiliteit
|
|
- Foto als base64 string in cel
|
|
|
|
#### 5. Photo Handling
|
|
**Beslissing**: HTML5 FileReader + Canvas
|
|
**Features**:
|
|
- Camera capture op mobiel
|
|
- File upload op desktop
|
|
- Resize voor performance
|
|
- Base64 encoding
|
|
|
|
## Style Guidelines
|
|
|
|
### Themes
|
|
1. **Modern** - Rounded corners, gradients, shadows
|
|
2. **Corporate** - Clean lines, neutral colors, professional
|
|
3. **Minimal** - Maximum whitespace, simple borders
|
|
|
|
### Color Scheme (configureerbaar)
|
|
- Primary: Hoofdkleur (buttons, headers)
|
|
- Secondary: Accentkleur
|
|
- Background: Pagina achtergrond
|
|
- Text: Tekstkleur
|
|
- Error: Validatie errors
|
|
- Success: Bevestigingen
|
|
|
|
## Open Questions
|
|
- [ ] Maximale foto resolutie voor base64 in CSV?
|
|
- [ ] Offline support nodig?
|
|
- [ ] Meerdere talen ondersteuning?
|