Asset Manager Changelog
v1.3.0 — 8 June 2026
New Features
#### Cyberpunk Theme by Default
Session page styled — Login/session selection now uses the cyberpunk theme out of the box
Asset list inherits theme — Cyber mode enabled by default on app load (toggle to opt out)
Consistent neon aesthetic — Session picker and inventory share the same Blade Runner vibe
#### Photos on Create
Add images when creating assets — No longer need to save first, then edit to attach photos
Pending photo queue — Select images in the add form; they upload automatically after save
Preview thumbnails — See queued photos before submitting a new asset
#### Change Password
Session list — Key icon on each session opens a change-password dialog
In-app — Key icon in the asset manager header changes the active session password
Secure update — Requires current password; stored as bcrypt hash in session meta
#### Git-Managed Deployments
Central repo — Application code lives at /opt/code/asset-manager.git (bare) on tank
Deploy script — deploy.sh syncs main branch to all Docker instances without touching sessions/ or uploads/
v1.2.0 — 24 March 2026
New Features
#### Photo Uploads
Attach photos to assets — Upload multiple images per asset (JPEG, PNG, GIF, WebP)
Photo gallery — Thumbnails displayed in asset detail view
Lightbox viewer — Click any photo to view full size with navigation
Keyboard navigation — Arrow keys to browse, Escape to close lightbox
Delete photos — Hover over thumbnails in edit mode to remove
10MB limit — Per-photo file size limit
Auto-cleanup — Photos deleted when asset is removed
v1.1.0 — 18 March 2026
New Features
#### Nested Assets / Components
Parent-child relationships — Assets can now contain sub-assets (e.g., a server containing GPUs)
Add Component button — Quickly add child assets from the detail view
Visual hierarchy — Parent assets show folder icon and component count
Cascading delete — Removing a parent removes all its children
#### Import & Export
CSV Export — Download all assets as a spreadsheet
PDF Export — Generate printable inventory reports with stats
CSV Import — Bulk upload assets from spreadsheet with smart column mapping
#### AI Price Appraisal
Grok-powered appraisals — Get market value estimates from eBay, Facebook, Gumtree data
Full asset context — Appraisals consider all asset details (brand, model, age, condition)
Cached results — Appraisals cached for 7 days to avoid repeat API calls
Confidence indicators — High/medium/low confidence badges
Comparable sales — See similar items that have sold recently
Detail view integration — Cached appraisal value shown when viewing assets
#### Dark Mode
Toggle switch — Moon/sun icon in header to switch themes
Persistent preference — Theme choice saved to localStorage
Full coverage — All modals, forms, and tables styled for dark mode
v1.0.0 — 15 March 2026
Initial release.
Features
#### Session Management
Multi-session support — Create separate SQLite databases for different inventories
Password protection — Each session secured with its own password
Session list — View all sessions with asset count and database size
Delete sessions — Remove sessions permanently (requires password confirmation)
#### Asset Management
Full CRUD — Create, read, update, and delete assets
Rich asset details:
Name, brand, model
Category and location
Description and notes
Purchase date and original price
Serial number (optional)
Quantity tracking
Search — Filter assets by name, brand, model, category, location, or serial number
Detail view — Click any asset to see full information
#### QR Code Integration
Generate QR codes — Each asset gets a unique QR code
Scannable URLs — QR includes session name for direct access
Download QR — Save as PNG for printing labels
Direct linking — Scanning opens login → asset detail automatically
#### Dashboard
Stats overview:
Total asset count
Combined value
Number of categories
Number of locations
Real-time updates — Stats refresh on any change
#### User Interface
Responsive design — Works on desktop, tablet, and mobile
Mobile-optimized:
Card view for asset list
Bottom sheet modals
Touch-friendly buttons
Desktop features:
Table view with columns
Keyboard shortcuts (/ to search, Esc to close)
Clean form UI — Hidden by default, slides in when adding/editing
Technical Details
Backend: PHP 8+ with SQLite3
Frontend: Vanilla JavaScript, Tailwind CSS
Storage: One .db file per session in /sessions/ directory
Auth: Password hashed with password_hash() (bcrypt)
QR Library: qrcodejs
AI: xAI Grok API for appraisals
Built with 🛡️ by Tank