A French Initiative for Digital Resiliency — Breaking vendor lock-in. Protecting data privacy. Empowering organizations.

PRD-001: Management Dashboard

Document Information

| Field | Value | |——-|——-| | PRD ID | PRD-001 | | Title | Croom Management Dashboard | | Author | Engineering Team | | Created | 2025-12-15 | | Status | Draft | | Priority | P0 - Critical | | Target Phase | Phase 1 |


1. Overview

1.1 Problem Statement

Currently, Croom devices are managed individually via SSH, requiring technical expertise and significant time investment. There is no centralized way to:

This limits scalability and makes enterprise deployment impractical.

1.2 Solution

Build a web-based management dashboard that provides centralized control and visibility over all Croom devices in an organization.

1.3 Success Metrics


2. User Personas

2.1 IT Administrator

Role: Manages all Croom devices in organization Goals:

Pain Points:

2.2 Facilities Manager

Role: Manages meeting room resources Goals:

Pain Points:

2.3 Help Desk Technician

Role: First-line support for meeting room issues Goals:

Pain Points:


3. Features & Requirements

3.1 Device Management (P0)

3.1.1 Device Registration

User Story: As an IT admin, I want to register new devices so I can manage them centrally.

Requirements:

Acceptance Criteria:

3.1.2 Device Inventory

User Story: As an IT admin, I want to see all devices in my organization with their status.

Requirements:

Acceptance Criteria:

3.1.3 Device Status Monitoring

User Story: As an IT admin, I want real-time visibility into device health.

Requirements:

Acceptance Criteria:

3.2 Configuration Management (P0)

3.2.1 Device Configuration

User Story: As an IT admin, I want to configure devices remotely.

Requirements:

Configurable Parameters:

Acceptance Criteria:

3.2.2 Credential Management

User Story: As an IT admin, I want to securely manage meeting account credentials.

Requirements:

Acceptance Criteria:

3.3 Monitoring & Alerts (P1)

3.3.1 Real-time Monitoring

User Story: As an IT admin, I want to see real-time device metrics.

Requirements:

Acceptance Criteria:

3.3.2 Alerting System

User Story: As an IT admin, I want to be notified of problems immediately.

Requirements:

Default Alert Rules:

Acceptance Criteria:

3.4 Remote Operations (P1)

3.4.1 Remote Actions

User Story: As an IT admin, I want to perform actions on devices remotely.

Requirements:

Acceptance Criteria:

3.4.2 Remote Troubleshooting

User Story: As a help desk technician, I want to troubleshoot devices without physical access.

Requirements:

Acceptance Criteria:

3.5 Analytics & Reporting (P2)

3.5.1 Usage Analytics

User Story: As a facilities manager, I want to understand room utilization.

Requirements:

Acceptance Criteria:

3.5.2 Report Generation

User Story: As an IT admin, I want to generate reports for management.

Requirements:

Report Types:

Acceptance Criteria:

3.6 User Management (P1)

3.6.1 Authentication

User Story: As an IT admin, I want secure access to the dashboard.

Requirements:

Acceptance Criteria:

3.6.2 Authorization

User Story: As an IT admin, I want to control what users can do.

Requirements:

Default Roles:

Acceptance Criteria:


4. Technical Architecture

4.1 System Components

┌─────────────────────────────────────────────────────────────────┐
│                         Load Balancer                            │
│                     (nginx / cloud LB)                          │
└─────────────────────────────────────────────────────────────────┘
                               │
              ┌────────────────┼────────────────┐
              │                │                │
              ▼                ▼                ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│   Web Frontend   │ │   API Server     │ │   WebSocket      │
│   (React SPA)    │ │   (Node.js/      │ │   Server         │
│                  │ │    FastAPI)      │ │   (Socket.IO)    │
└──────────────────┘ └──────────────────┘ └──────────────────┘
                               │
              ┌────────────────┼────────────────┐
              │                │                │
              ▼                ▼                ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│   PostgreSQL     │ │   Redis          │ │   TimescaleDB    │
│   (Config, Users)│ │   (Cache, Queue) │ │   (Metrics)      │
└──────────────────┘ └──────────────────┘ └──────────────────┘
                               │
                               ▼
              ┌────────────────────────────────┐
              │   Message Queue (MQTT/Redis)   │
              └────────────────────────────────┘
                               │
         ┌─────────────────────┼─────────────────────┐
         │                     │                     │
         ▼                     ▼                     ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│   Croom Agent   │ │   Croom Agent   │ │   Croom Agent   │
│   (Device 1)     │ │   (Device 2)     │ │   (Device N)     │
└──────────────────┘ └──────────────────┘ └──────────────────┘

4.2 Device Agent

A lightweight agent running on each Croom device:

Responsibilities:

Technical Requirements:

4.3 API Design

RESTful API Endpoints:

# Devices
GET    /api/v1/devices              - List devices
POST   /api/v1/devices              - Register device
GET    /api/v1/devices/{id}         - Get device details
PUT    /api/v1/devices/{id}         - Update device
DELETE /api/v1/devices/{id}         - Remove device
POST   /api/v1/devices/{id}/actions - Execute action

# Configuration
GET    /api/v1/devices/{id}/config  - Get configuration
PUT    /api/v1/devices/{id}/config  - Update configuration
GET    /api/v1/config-templates     - List templates
POST   /api/v1/config-templates     - Create template

# Metrics
GET    /api/v1/devices/{id}/metrics - Get device metrics
GET    /api/v1/metrics/aggregate    - Aggregated metrics

# Alerts
GET    /api/v1/alerts               - List alerts
PUT    /api/v1/alerts/{id}          - Update alert
GET    /api/v1/alert-rules          - List rules
POST   /api/v1/alert-rules          - Create rule

# Users
GET    /api/v1/users                - List users
POST   /api/v1/users                - Create user
PUT    /api/v1/users/{id}           - Update user
DELETE /api/v1/users/{id}           - Delete user

4.4 Security Considerations


5. User Interface

5.1 Dashboard Home

5.2 Device List

5.3 Device Detail

5.4 Settings


6. Non-Functional Requirements

6.1 Performance

6.2 Availability

6.3 Scalability

6.4 Security


7. Implementation Plan

Phase 1: MVP (4 weeks)

Phase 2: Core Features (4 weeks)

Phase 3: Analytics (2 weeks)

Phase 4: Enterprise (2 weeks)


8. Open Questions

  1. Should we support on-premise deployment only, or cloud-hosted option too?
  2. What is the expected device count for initial deployment?
  3. Are there specific compliance requirements (HIPAA, etc.)?
  4. What alerting integrations are must-have vs nice-to-have?

9. Appendix

9.1 Competitive Analysis

| Feature | Cisco Control Hub | Croom Dashboard | |———|——————-|——————| | Device Management | Yes | Yes | | Real-time Monitoring | Yes | Yes | | AI Insights | Yes | Phase 3 | | Multi-vendor Support | Cisco only | Any Pi device | | Pricing | $15/device/month | Open source |

9.2 References