{
  "format": "dataset-manifest/1",
  "slug": "smart-room-event-monitoring",
  "version": 1,
  "seed": "smart-room-event-monitoring:1",
  "spec": {
    "format": "dataset/1",
    "slug": "smart-room-event-monitoring",
    "name": "Smart Room Event Monitoring",
    "tagline": "Monitoring events, user memberships, and media exchanges in smart rooms with active device interactions.",
    "description": "Smart devices communicate seamlessly to enhance user experiences in shared digital spaces. This dataset models events related to room invitations, device interactions, user memberships, and media exchanges, which are crucial for facilitating smooth collaboration while ensuring security through end-to-end encryption. The tables capture various aspects of these interactions, where most events occur in rooms with a high density of active users and devices, while invites and redactions are less frequent. This synthetic dataset is ideal for practicing analytics and ETL pipelines, allowing users to explore complex relationships and derive insights from the dynamic landscape of interactions in smart environments. By analyzing this data, users can gain insights into user behavior, device performance, and room utilization, answering questions about engagement patterns and security incidents.",
    "domain": "iot",
    "shape": "event-log",
    "useCases": [
      "analytics-demo",
      "etl-pipelines"
    ],
    "keywords": [
      "smart devices",
      "event tracking",
      "user interactions",
      "room management",
      "iot",
      "data analysis"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "rooms": {
        "description": "This table records the rooms where events occur, linking to user memberships and events. Each room has a unique identifier and attributes describing its purpose.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each room."
          },
          "name": {
            "kind": "words",
            "max": 50,
            "description": "Name of the room.",
            "nullable": true
          },
          "purpose": {
            "kind": "enum",
            "values": [
              "meeting",
              "collaboration",
              "presentation"
            ],
            "description": "Purpose of the room."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-10-01",
            "description": "Date and time when the room was created.",
            "dayProfile": "business"
          }
        }
      },
      "users": {
        "description": "This table contains information about users who join rooms and participate in events, linking to their interactions within these spaces.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the user.",
            "nullable": true
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the user.",
            "nullable": true
          },
          "joined_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-10-01",
            "description": "Date and time when the user joined the platform.",
            "dayProfile": "waking"
          }
        }
      },
      "events": {
        "description": "This table logs all events that occur in rooms, linking back to the users and rooms involved. Each event captures interaction details.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each event."
          },
          "room_id": {
            "kind": "fk",
            "ref": "rooms.id",
            "description": "Identifier for the room where the event occurred."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Identifier for the user who initiated the event."
          },
          "event_type": {
            "kind": "enum",
            "values": [
              "invite",
              "interaction",
              "media_exchange",
              "redaction"
            ],
            "description": "Type of event recorded."
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-10-01",
            "description": "Date and time when the event occurred.",
            "nullable": true,
            "when": {
              "column": "event_type",
              "in": [
                "invite",
                "interaction"
              ]
            },
            "dayProfile": "waking",
            "trend": "growing"
          }
        }
      },
      "memberships": {
        "description": "This table tracks user memberships in rooms, indicating their roles and whether they are active participants.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each membership record."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Identifier for the user in the room."
          },
          "room_id": {
            "kind": "fk",
            "ref": "rooms.id",
            "description": "Identifier for the room where the user is a member."
          },
          "role": {
            "kind": "enum",
            "values": [
              "admin",
              "member",
              "guest"
            ],
            "description": "Role of the user within the room."
          },
          "active": {
            "kind": "bool",
            "trueRate": 0.8,
            "description": "Indicates if the user's membership is currently active.",
            "nullable": true,
            "when": {
              "column": "role",
              "in": [
                "admin",
                "member"
              ]
            }
          }
        }
      },
      "media": {
        "description": "This table records media exchanges that occur during events, linking to users and rooms to provide context for each exchange.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each media exchange."
          },
          "event_id": {
            "kind": "fk",
            "ref": "events.id",
            "description": "Identifier for the event during which media was exchanged."
          },
          "media_type": {
            "kind": "enum",
            "values": [
              "image",
              "video",
              "document"
            ],
            "description": "Type of media exchanged."
          },
          "media_url": {
            "kind": "url",
            "description": "URL link to the media that was exchanged.",
            "nullable": true,
            "when": {
              "column": "media_type",
              "in": [
                "image",
                "video"
              ]
            }
          },
          "uploaded_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-10-01",
            "description": "Date and time when the media was uploaded.",
            "nullable": true,
            "dayProfile": "business"
          }
        }
      },
      "redactions": {
        "description": "This table logs redactions of events or media, indicating the reasons for removal and linking back to the associated events.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each redaction."
          },
          "event_id": {
            "kind": "fk",
            "ref": "events.id",
            "description": "Identifier for the event that was redacted."
          },
          "reason": {
            "kind": "words",
            "max": 100,
            "description": "Reason for the redaction.",
            "nullable": true
          },
          "redacted_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-10-01",
            "description": "Date and time when the event was redacted.",
            "dayProfile": "business"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "categorical",
      "nullable",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "What types of events occur most frequently in rooms?",
      "How does user engagement vary across different room types?",
      "What factors lead to the redaction of events?",
      "Which users are most active in media exchanges?",
      "How do membership roles influence event participation?"
    ],
    "suggestedQueries": [
      {
        "title": "List all events and their corresponding rooms",
        "sql": "SELECT events.id, events.event_type, rooms.name FROM events JOIN rooms ON events.room_id = rooms.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count events by type per room",
        "sql": "SELECT rooms.name, events.event_type, COUNT(events.id) FROM events JOIN rooms ON events.room_id = rooms.id GROUP BY rooms.name, events.event_type;",
        "dialect": "postgres"
      },
      {
        "title": "Find active users in each room",
        "sql": "SELECT rooms.name, users.full_name FROM memberships JOIN users ON memberships.user_id = users.id JOIN rooms ON memberships.room_id = rooms.id WHERE memberships.active = TRUE;",
        "dialect": "postgres"
      },
      {
        "title": "Retrieve media exchanges for a specific event",
        "sql": "SELECT media.media_url, media.media_type FROM media JOIN events ON media.event_id = events.id WHERE events.id = $1;",
        "dialect": "postgres"
      },
      {
        "title": "Analyze redactions and their reasons",
        "sql": "SELECT events.event_type, redactions.reason FROM redactions JOIN events ON redactions.event_id = events.id;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Event Analysis for Developers",
        "body": "Developers can use this dataset to analyze event patterns within smart room environments. By examining how users interact and what events are common, they can improve user experience and identify potential issues."
      },
      {
        "title": "ETL Pipeline Development",
        "body": "Data engineers can utilize this dataset to build ETL pipelines that extract, transform, and load event data into analytics platforms. This will help in generating insights and visualizations for stakeholders."
      },
      {
        "title": "User Engagement Assessment",
        "body": "Product managers can assess user engagement in smart rooms by analyzing membership roles and event participation. Understanding who contributes most to events can guide feature improvements and marketing strategies."
      },
      {
        "title": "Security Monitoring and Compliance",
        "body": "Security analysts can monitor events and redactions to ensure compliance with data protection regulations. By identifying events that were redacted and their reasons, they can maintain a secure environment."
      }
    ]
  },
  "counts": {
    "rooms": 100,
    "users": 150,
    "events": 500,
    "media": 200,
    "memberships": 300,
    "redactions": 100
  },
  "stats": {
    "rooms": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 11,
          "distinct": 89
        },
        "purpose": {
          "nulls": 0,
          "distinct": 3,
          "min": "collaboration",
          "max": "presentation"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 100,
          "min": "2023-01-01 11:39:57",
          "max": "2023-10-01 16:45:28"
        }
      }
    },
    "users": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "full_name": {
          "nulls": 12,
          "distinct": 134,
          "min": "Amir Gupta",
          "max": "Zoe Lee"
        },
        "email": {
          "nulls": 20,
          "distinct": 129
        },
        "joined_at": {
          "nulls": 0,
          "distinct": 150,
          "min": "2023-01-01 09:24:55",
          "max": "2023-10-01 18:48:02"
        }
      }
    },
    "events": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "room_id": {
          "nulls": 0,
          "distinct": 99,
          "min": 1,
          "max": 100
        },
        "user_id": {
          "nulls": 0,
          "distinct": 146,
          "min": 1,
          "max": 150
        },
        "event_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "interaction",
          "max": "redaction"
        },
        "timestamp": {
          "nulls": 247,
          "distinct": 253,
          "min": "2023-01-01 14:17:16",
          "max": "2023-10-01 18:29:16"
        }
      }
    },
    "memberships": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "user_id": {
          "nulls": 0,
          "distinct": 133,
          "min": 1,
          "max": 150
        },
        "room_id": {
          "nulls": 0,
          "distinct": 94,
          "min": 1,
          "max": 100
        },
        "role": {
          "nulls": 0,
          "distinct": 3,
          "min": "admin",
          "max": "member"
        },
        "active": {
          "nulls": 103,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "media": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "event_id": {
          "nulls": 0,
          "distinct": 153,
          "min": 5,
          "max": 496
        },
        "media_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "document",
          "max": "video"
        },
        "media_url": {
          "nulls": 74,
          "distinct": 125
        },
        "uploaded_at": {
          "nulls": 13,
          "distinct": 187,
          "min": "2023-01-01 07:31:00",
          "max": "2023-09-30 12:29:07"
        }
      }
    },
    "redactions": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "event_id": {
          "nulls": 0,
          "distinct": 89,
          "min": 1,
          "max": 498
        },
        "reason": {
          "nulls": 15,
          "distinct": 85
        },
        "redacted_at": {
          "nulls": 0,
          "distinct": 100,
          "min": "2023-01-01 09:09:17",
          "max": "2023-09-29 16:47:43"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/rooms.csv",
      "format": "csv",
      "table": "rooms",
      "key": "datasets/smart-room-event-monitoring/v1/csv/rooms.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/csv/rooms.csv",
      "bytes": 19397,
      "sha256": "0b9a976117a67e06f95cbf3c79ec88e078da8375ef9972dec3097b74a31b5002",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/smart-room-event-monitoring/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/csv/users.csv",
      "bytes": 8488,
      "sha256": "c3bbe758d4633ba01ed2661d756c9ab52fc6edf6b7a4f11208043db03ada5348",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/events.csv",
      "format": "csv",
      "table": "events",
      "key": "datasets/smart-room-event-monitoring/v1/csv/events.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/csv/events.csv",
      "bytes": 16280,
      "sha256": "8c329f302ff89184caa792b861681a580343888a083c15c9a20c4cc75e9ed2c1",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/media.csv",
      "format": "csv",
      "table": "media",
      "key": "datasets/smart-room-event-monitoring/v1/csv/media.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/csv/media.csv",
      "bytes": 11156,
      "sha256": "cc635352a31f4e88d9650ed0afc9cc6469142bd4b81eafde2798fda779c9bc5c",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/memberships.csv",
      "format": "csv",
      "table": "memberships",
      "key": "datasets/smart-room-event-monitoring/v1/csv/memberships.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/csv/memberships.csv",
      "bytes": 6326,
      "sha256": "d54f5a9ef3ed3e1f3f3ed69f1c9ce3a1197359e19f21b3d3b4760a6ed96d3bdb",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/redactions.csv",
      "format": "csv",
      "table": "redactions",
      "key": "datasets/smart-room-event-monitoring/v1/csv/redactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/csv/redactions.csv",
      "bytes": 32472,
      "sha256": "03da397f1ad6eda6d175a78971ecc3b2226faf770e119c64e9ddc79e678ea78a",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "smart-room-event-monitoring.json",
      "format": "json",
      "table": null,
      "key": "datasets/smart-room-event-monitoring/v1/smart-room-event-monitoring.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/smart-room-event-monitoring.json",
      "bytes": 228223,
      "sha256": "a94b0c471ccb566c7bc72642b9d3315aa2718aa6247be1f2c3cddb34fb6c05e5",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/smart-room-event-monitoring/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/sql/postgres.sql",
      "bytes": 117424,
      "sha256": "aff22407c1b269c1b28761b9a390b2b58dcf223008e6a4d598b6591e58d9734f",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/smart-room-event-monitoring/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/sql/mysql.sql",
      "bytes": 116128,
      "sha256": "499a606fcb0e485ed847aca3b4179ad35d10634e97215a2fc5de3b9b4db49fe1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/smart-room-event-monitoring/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/sql/mssql.sql",
      "bytes": 118947,
      "sha256": "a9cc03c8efd3a77da4d9f439d067ce0b3a4d25a92225fc29096c8f6326bcd1b8",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/smart-room-event-monitoring/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/sql/sqlite.sql",
      "bytes": 115854,
      "sha256": "a7aac0aa0bf1f48f52ce138a6a3feb75e0ef09265ef94e86d962d1d39d115d55",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/smart-room-event-monitoring/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/prisma/seed.ts",
      "bytes": 192103,
      "sha256": "267aed1e297bd3eea31ca36e9f9c6820103ef4e9ae0f9025cd34d137f5a0de43",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/smart-room-event-monitoring/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/smart-room-event-monitoring/v1/django/fixtures.json",
      "bytes": 281549,
      "sha256": "2eb9e8464528587a0278387df03282b8f28b1e308fa3d669cac7d523704f1e6e",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788734088430,
  "updatedAt": 1788734088430
}
