feat(elixir): storage location system

This commit is contained in:
Schuwi
2025-09-14 15:20:25 +02:00
parent b9126c286f
commit 9d090859e8
14 changed files with 1517 additions and 160 deletions

View File

@@ -119,18 +119,43 @@ The application uses a simple password-based authentication system:
| `imageUpload.php` | Phoenix LiveView file uploads with `.live_file_input` | **IMPLEMENTED**: Full image upload with preview, validation, and automatic cleanup |
| Session management | Phoenix sessions + LiveView | Built-in CSRF protection |
## Future Enhancements
## 🚀 Future Enhancements
1. ~~**Image Upload**: Implement Phoenix file uploads for component images~~ ✅ **COMPLETED**
2. **Bulk Operations**: Import/export components via CSV
3. **API Endpoints**: REST API for external integrations
4. **User Management**: Multi-user support with roles and permissions
5. **Advanced Search**: Filters by category, stock level, etc.
6. **Barcode/QR Codes**: Generate and scan codes for quick inventory updates
### Priority 1: Complete QR Code System (see [qr_storage_system](qr_storage_system.md))
- **QR Code Image Generation** - Add Elixir library (e.g., `qr_code` hex package) to generate actual QR code images
- **QR Code Display in Interface** - Show generated QR code images in the storage locations interface
- **Camera Integration** - JavaScript-based QR scanning with camera access for mobile/desktop
- **Multi-QR Code Detection** - Spatial analysis and disambiguation for multiple codes in same image
### Component Management
- **Barcode Support** - Generate and scan traditional barcodes in addition to QR codes
- **Bulk Operations** - Import/export components from CSV, batch updates
- **Search and Filtering** - Advanced search by specifications, tags, location
- **Component Templates** - Reusable templates for common component types
- **Version History** - Track changes to component specifications over time
### Storage Organization
- **Physical Layout Mapping** - Visual representation of shelves, drawers, and boxes
- **Bulk QR Code Printing** - Generate printable sheets of QR codes for labeling
## ✅ Recently Implemented Features
### Image Upload System
### Storage Location System Foundation 🚧 **PARTIALLY IMPLEMENTED**
- **Database Schema** ✅ Complete - Hierarchical storage locations with parent-child relationships
- **Storage Location CRUD** ✅ Complete - Full create, read, update, delete operations via web interface
- **QR Code Data Generation** ✅ Complete - Text-based QR codes with format `SL:{level}:{code}:{parent}`
- **Hierarchical Organization** ✅ Complete - Unlimited nesting (shelf → drawer → box)
- **Web Interface** ✅ Complete - Storage locations management page with navigation
- **Component-Storage Integration** ❌ Missing - Linking components to storage locations not yet implemented correctly
### QR Code System - Still Needed 🚧 **NOT IMPLEMENTED**
- **Visual QR Code Generation** ❌ Missing - No actual QR code images are generated
- **QR Code Display** ❌ Missing - QR codes not shown in interface (as seen in screenshot)
- **QR Code Scanning** ❌ Missing - No camera integration or scanning functionality
- **QR Code Processing** ❌ Missing - Backend logic for processing scanned codes
- **Multi-QR Disambiguation** ❌ Missing - No handling of multiple QR codes in same image
### Image Upload System ✅ **COMPLETED**
- **Phoenix LiveView file uploads** with `.live_file_input` component
- **Image preview** during upload with progress indication
- **File validation** (JPG, PNG, GIF up to 5MB)
@@ -138,7 +163,7 @@ The application uses a simple password-based authentication system:
- **Responsive image display** in component listings with fallback placeholders
- **Upload error handling** with user-friendly messages
### Visual Datasheet Indicators
### Visual Datasheet Indicators ✅ **COMPLETED**
- **Datasheet emoji** (📄) displayed next to component names when datasheet URL is present
- **Clickable datasheet links** with clear visual indication
- **Improved component listing** with image thumbnails and datasheet indicators