{
  "format": "dataset-manifest/1",
  "slug": "document-collaboration-platform",
  "version": 1,
  "seed": "document-collaboration-platform:1",
  "spec": {
    "format": "dataset/1",
    "slug": "document-collaboration-platform",
    "name": "Collaborative Document Workflow",
    "tagline": "Organizations, users, documents, comments, and tags from collaborative workflow projects in a dynamic team environment.",
    "description": "Users collaborate on various document projects, navigating through tasks, comments, and different document versions within a cloud-based platform. This dynamic environment supports creative teams in managing their workflows efficiently, allowing them to share ideas, track changes, and provide feedback in real-time. Organizations create an ecosystem where users interact with documents, each contributing unique insights and expertise, ensuring that projects evolve with collaborative input.\n\nThe dataset features several interconnected tables. The 'organizations' table represents distinct entities that utilize the platform, while the 'users' table lists individuals associated with these organizations. Each user can create and engage with 'documents,' which are the central focus of collaboration. Supporting this structure, the 'comments' table captures users' feedback on documents, fostering communication and refinement of ideas. 'Tags' categorize documents, enhancing searchability and organization, and the 'document_tags' table serves as the junction that links documents with their respective tags, allowing for more nuanced document management.\n\nThis data answers key questions about user engagement, document usage, and collaboration patterns within organizations. For example, developers can explore which documents receive the most comments, uncover trends in user contributions, analyze tagging practices, and identify how different organizations utilize the platform. By practicing with this synthetic data, developers can gain insights into user behavior, optimize document workflows, and enhance the overall user experience on collaborative platforms. This dataset provides a rich foundation for analyzing collaborative dynamics, making it ideal for honing data skills in a real-world context.",
    "domain": "saas",
    "shape": "multi-tenant",
    "useCases": [
      "orm-seeding",
      "api-mocking"
    ],
    "keywords": [
      "collaboration",
      "documents",
      "comments",
      "tags",
      "users",
      "organizations",
      "workflow"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "organizations": {
        "description": "This table stores information about the organizations using the document collaboration platform. Each row represents a unique organization.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each organization."
          },
          "name": {
            "kind": "words",
            "max": 50,
            "description": "Name of the organization."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "Date when the organization was created.",
            "dayProfile": "business"
          },
          "subscription_level": {
            "kind": "enum",
            "values": [
              "free",
              "basic",
              "premium"
            ],
            "description": "Subscription level of the organization."
          }
        }
      },
      "users": {
        "description": "This table represents users who belong to different organizations. Each row corresponds to a unique user.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "organization_id": {
            "kind": "fk",
            "ref": "organizations.id",
            "description": "Foreign key linking the user to their organization."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the user."
          },
          "role": {
            "kind": "enum",
            "values": [
              "admin",
              "editor",
              "viewer"
            ],
            "description": "Role of the user within the organization."
          }
        }
      },
      "documents": {
        "description": "This table captures documents created by users. Each row represents a unique document.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each document."
          },
          "title": {
            "kind": "words",
            "max": 100,
            "description": "Title of the document."
          },
          "created_by": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Foreign key linking the document to the user who created it."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "Date when the document was created.",
            "dayProfile": "waking"
          },
          "version": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "Version number of the document."
          }
        }
      },
      "comments": {
        "description": "This table holds comments made by users on documents. Each row corresponds to a unique comment.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each comment."
          },
          "document_id": {
            "kind": "fk",
            "ref": "documents.id",
            "description": "Foreign key linking the comment to the document it pertains to."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Foreign key linking the comment to the user who made it."
          },
          "content": {
            "kind": "sentence",
            "max": 250,
            "description": "Content of the comment."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "Date when the comment was created.",
            "dayProfile": "waking",
            "trend": "growing"
          }
        }
      },
      "tags": {
        "description": "This table contains tags used to categorize documents. Each row represents a unique tag.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each tag."
          },
          "name": {
            "kind": "words",
            "max": 30,
            "description": "Name of the tag."
          }
        }
      },
      "document_tags": {
        "description": "This table establishes a many-to-many relationship between documents and tags. Each row links a document to a tag.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each document-tag link."
          },
          "document_id": {
            "kind": "fk",
            "ref": "documents.id",
            "description": "Foreign key linking the document-tag relationship to a document."
          },
          "tag_id": {
            "kind": "fk",
            "ref": "tags.id",
            "description": "Foreign key linking the document-tag relationship to a tag."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "nullable",
      "timestamped"
    ],
    "analysisQuestions": [
      "How many documents has each user created?",
      "What are the most common tags used across all documents?",
      "Which documents received the most comments?",
      "How does the number of comments correlate with document versions?",
      "What subscription levels are most popular among organizations?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users and Documents",
        "sql": "SELECT users.full_name, documents.title FROM users JOIN documents ON users.id = documents.created_by;",
        "dialect": "postgres"
      },
      {
        "title": "Count Documents per User",
        "sql": "SELECT users.full_name, COUNT(documents.id) FROM users LEFT JOIN documents ON users.id = documents.created_by GROUP BY users.full_name;",
        "dialect": "postgres"
      },
      {
        "title": "Aggregate Comments by Document",
        "sql": "SELECT documents.title, COUNT(comments.id) FROM documents LEFT JOIN comments ON documents.id = comments.document_id GROUP BY documents.title;",
        "dialect": "postgres"
      },
      {
        "title": "Latest Comments on Documents",
        "sql": "SELECT documents.title, comments.content, comments.created_at FROM comments JOIN documents ON comments.document_id = documents.id ORDER BY comments.created_at DESC;",
        "dialect": "postgres"
      },
      {
        "title": "Tag Usage in Documents",
        "sql": "SELECT tags.name, COUNT(document_tags.document_id) FROM tags JOIN document_tags ON tags.id = document_tags.tag_id GROUP BY tags.name;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Onboarding New Users",
        "body": "When an organization starts using the platform, administrators can utilize this dataset to create a realistic environment for onboarding new users. They can seed the database with example users, documents, and comments, enabling new users to explore the features and functionality of the document collaboration platform without affecting real data."
      },
      {
        "title": "API Development",
        "body": "Developers building APIs for the document collaboration platform can use this dataset to mock responses and test interactions with the database. By using realistic data, they can ensure that their API endpoints behave as expected when handling user requests related to documents, comments, and tags."
      },
      {
        "title": "Business Intelligence Analysis",
        "body": "Data analysts can leverage this dataset to create dashboards and reports that visualize user interactions, document engagement, and popular tags. By analyzing the data, organizations can gain insights into how their teams collaborate and identify areas for improvement in document workflows."
      },
      {
        "title": "Testing and Quality Assurance",
        "body": "Quality assurance teams can utilize this dataset to test the document collaboration platform's functionality. By simulating various user interactions, such as creating documents, adding comments, and tagging, they can ensure that the platform performs correctly and meets user expectations before deployment."
      }
    ]
  },
  "counts": {
    "organizations": 50,
    "tags": 100,
    "users": 200,
    "documents": 300,
    "comments": 500,
    "document_tags": 200
  },
  "stats": {
    "organizations": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 0,
          "distinct": 50
        },
        "created_at": {
          "nulls": 0,
          "distinct": 50,
          "min": "2020-02-15 13:54:12",
          "max": "2022-12-29 18:43:55"
        },
        "subscription_level": {
          "nulls": 0,
          "distinct": 3,
          "min": "basic",
          "max": "premium"
        }
      }
    },
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "organization_id": {
          "nulls": 0,
          "distinct": 49,
          "min": 1,
          "max": 50
        },
        "full_name": {
          "nulls": 0,
          "distinct": 199,
          "min": "Alice Hassan",
          "max": "Zoe Pereira"
        },
        "email": {
          "nulls": 0,
          "distinct": 200
        },
        "role": {
          "nulls": 0,
          "distinct": 3,
          "min": "admin",
          "max": "viewer"
        }
      }
    },
    "documents": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "title": {
          "nulls": 0,
          "distinct": 300
        },
        "created_by": {
          "nulls": 0,
          "distinct": 159,
          "min": 1,
          "max": 200
        },
        "created_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2020-01-01 12:45:40",
          "max": "2023-01-01 17:17:20"
        },
        "version": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        }
      }
    },
    "comments": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "document_id": {
          "nulls": 0,
          "distinct": 243,
          "min": 1,
          "max": 299
        },
        "user_id": {
          "nulls": 0,
          "distinct": 182,
          "min": 1,
          "max": 198
        },
        "content": {
          "nulls": 0,
          "distinct": 497
        },
        "created_at": {
          "nulls": 0,
          "distinct": 500,
          "min": "2020-01-16 17:44:54",
          "max": "2022-12-31 10:40:02"
        }
      }
    },
    "tags": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 0,
          "distinct": 100
        }
      }
    },
    "document_tags": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "document_id": {
          "nulls": 0,
          "distinct": 148,
          "min": 3,
          "max": 297
        },
        "tag_id": {
          "nulls": 0,
          "distinct": 90,
          "min": 2,
          "max": 100
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/organizations.csv",
      "format": "csv",
      "table": "organizations",
      "key": "datasets/document-collaboration-platform/v1/csv/organizations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/csv/organizations.csv",
      "bytes": 9695,
      "sha256": "2d518261a764948b4448185ffe437ea3df7a68edc401f85e56d878e5522beeae",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/tags.csv",
      "format": "csv",
      "table": "tags",
      "key": "datasets/document-collaboration-platform/v1/csv/tags.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/csv/tags.csv",
      "bytes": 11286,
      "sha256": "7ddff359ac349885a923a22c5363585b55189f7612e7dfba42bee8ad69bf276d",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/document-collaboration-platform/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/csv/users.csv",
      "bytes": 10118,
      "sha256": "0a956481ae3829950343d583b8fbbfe3b104959a1f9fdd033ab2eb6e94e6239d",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/documents.csv",
      "format": "csv",
      "table": "documents",
      "key": "datasets/document-collaboration-platform/v1/csv/documents.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/csv/documents.csv",
      "bytes": 112205,
      "sha256": "d9f08e10cf0e211977803133cf1dc3ee84f660d0c1951ca2bd4b29c04f2a2acb",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/comments.csv",
      "format": "csv",
      "table": "comments",
      "key": "datasets/document-collaboration-platform/v1/csv/comments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/csv/comments.csv",
      "bytes": 44374,
      "sha256": "b01c6ee997c67ffbfec8b4b38ff2b2612a2f6295117a8234bbd11370d012977d",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/document_tags.csv",
      "format": "csv",
      "table": "document_tags",
      "key": "datasets/document-collaboration-platform/v1/csv/document_tags.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/csv/document_tags.csv",
      "bytes": 2232,
      "sha256": "1f53e5307b38f6088429bfe562e41eb020c2d13e2d39e86350952d7186205891",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "document-collaboration-platform.json",
      "format": "json",
      "table": null,
      "key": "datasets/document-collaboration-platform/v1/document-collaboration-platform.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/document-collaboration-platform.json",
      "bytes": 317190,
      "sha256": "b0acccec1fcd03f294f754f7a0a2631581acff347f3ba5b08add3944d22cecf3",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/document-collaboration-platform/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/sql/postgres.sql",
      "bytes": 210704,
      "sha256": "58b117147ff9605d6676040f396c40f915ac8012e1e8c7b9bbaba77948ed72b8",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/document-collaboration-platform/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/sql/mysql.sql",
      "bytes": 210026,
      "sha256": "746c34fe6adf2d22d39c0b45ec0301ec68ffe55d20b4ede3b246d09cac153289",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/document-collaboration-platform/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/sql/mssql.sql",
      "bytes": 212869,
      "sha256": "ee1aeea3d50e2e78925e7adbf5777846aafcda287252a371b9060f7027ec1af9",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/document-collaboration-platform/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/sql/sqlite.sql",
      "bytes": 209751,
      "sha256": "f69c3f1854ef87a992a143ea4ecae63cc557e6c4490363698b46629abc463e43",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/document-collaboration-platform/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/prisma/seed.ts",
      "bytes": 284946,
      "sha256": "b8ecc9c523b8021f57a766a7a989e617f07513b82df5595f6d6fed10a1bb6d37",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/document-collaboration-platform/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/document-collaboration-platform/v1/django/fixtures.json",
      "bytes": 372866,
      "sha256": "b70f122b1f74dba23d3684b7d6f1d52988f45b0afef43ab14e2ffb9504043c32",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767459297,
  "updatedAt": 1788767459297
}
