smart_ims/docs/task.md
2026-01-23 16:52:14 +09:00

2.3 KiB

Smart IMS Project - Task & Feature Roadmap

1. Core Platform & Security

  • Project Initialization: Created Vite + React + TypeScript base.
  • Design System: Implemented HSL-based vanilla CSS tokens and main layout.
  • Authenticated Session: Node.js session-based authentication (HttpOnly Cookies).
  • CSRF Protection: Implemented double-submit cookie pattern for all state-changing requests.
  • RBAC (Role Based Access Control): Restricted admin-only APIs (User/License management).
  • Production Ready: Configured PM2, static file serving for Synology NAS.
  • Production Stability: Resolved persistent EADDRINUSE (Port 3001) conflict by migrating backend to Port 3005.

2. License Management (Security Upgraded)

  • Subscriber Config: Added Server-side Subscriber ID verification.
  • RSA Asymmetric Encryption: Replaced AES with RSA 2048-bit digital signatures.
    • Private Key for Provider (Signing).
    • Public Key for Server (Verification).
  • 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.
  • License History: Automatic archiving of old/replaced keys in DB.
  • Manuals: Comprehensive guides for license issuance, server setup, and deployment processes.

3. CCTV Monitoring (Module)

  • RTSP Relay: WebSocket-based RTSP streaming using JSMpeg.
  • Quality Control: User-selectable resolution and bitrate levels.
  • Connectivity Fixes: RTSP password encoding and Transport mode (TCP/UDP) support.
  • Synology Compatibility: Implemented auto-detection for SynoCommunity FFmpeg (v6/v7) to support RTSP protocols. (Note: Local Windows env may block FFmpeg network access).
  • Layout Persistence: Drag-and-drop camera reordering saved to DB.
  • Admin Polish: Restricted camera edit/delete to Admin role only.

4. UI/UX Refinement

  • Lint/Type Fixes: Resolved all TypeScript warnings and React usage errors.
  • Clean Interface: Glassmorphism elements and premium dark/light mode support.
  • Next Steps: Asset maintenance history module and inventory management.