# SmartAsset Project - Task & Feature Roadmap ## 1. Core Platform & Security - [x] **Project Initialization**: Created Vite + React + TypeScript base. - [x] **Design System**: Implemented HSL-based vanilla CSS tokens and main layout. - [x] **Authenticated Session**: Node.js session-based authentication (HttpOnly Cookies). - [x] **CSRF Protection**: Implemented double-submit cookie pattern for all state-changing requests. - [x] **RBAC (Role Based Access Control)**: Restricted admin-only APIs (User/License management). - [x] **Production Ready**: Configured PM2, static file serving for Synology NAS. - [x] **Production Stability**: Resolved persistent `EADDRINUSE` (Port 3001) conflict by migrating backend to Port 3005. ## 2. License Management (Security Upgraded) - [x] **Subscriber Config**: Added Server-side Subscriber ID verification. - [x] **RSA Asymmetric Encryption**: Replaced AES with RSA 2048-bit digital signatures. - [x] Private Key for Provider (Signing). - [x] Public Key for Server (Verification). - [x] **License CLI Tool**: - `list`: Show module status and issued history. - `generate`: Sign keys with optional expiry and window. - `decode`: Verify signature and inspect payload. - `activate`: Replaces active license and archives history. - [x] **License History**: Automatic archiving of old/replaced keys in DB. - [x] **Manuals**: Comprehensive guides for license issuance, server setup, and deployment processes. ## 3. CCTV Monitoring (Module) - [x] **RTSP Relay**: WebSocket-based RTSP streaming using JSMpeg. - [x] **Quality Control**: User-selectable resolution and bitrate levels. - [x] **Connectivity Fixes**: RTSP password encoding and Transport mode (TCP/UDP) support. - [x] **Synology Compatibility**: Implemented auto-detection for SynoCommunity FFmpeg (v6/v7) to support RTSP protocols. (Note: Local Windows env may block FFmpeg network access). - [x] **Layout Persistence**: Drag-and-drop camera reordering saved to DB. - [x] **Admin Polish**: Restricted camera edit/delete to Admin role only. ## 4. UI/UX Refinement - [x] **Lint/Type Fixes**: Resolved all TypeScript warnings and React usage errors. - [x] **Clean Interface**: Glassmorphism elements and premium dark/light mode support. - [ ] **Next Steps**: Asset maintenance history module and inventory management.