{
  "format": "dataset-manifest/1",
  "slug": "collaborative-project-management-tool-for-small-teams",
  "version": 2,
  "seed": "collaborative-project-management-tool-for-small-teams:1",
  "spec": {
    "format": "dataset/1",
    "slug": "collaborative-project-management-tool-for-small-teams",
    "name": "Collaborative Project Management Insights",
    "tagline": "Sprints, tasks, comments, messages, projects, and users from dynamic project management by small teams.",
    "description": "Small teams manage projects dynamically, focusing on collaboration to track progress and enhance communication. Teams utilize sprints to break down their work into manageable chunks, each containing tasks that need to be tackled. This operational model supports the rapid iteration and efficiency typical of software development environments, where user feedback is integrated continuously. Various interactions take place through comments and messages, allowing team members to discuss tasks, share updates, and report issues in real-time. The synergy between these elements fosters an atmosphere of agile project management that is essential for successful delivery in the SaaS industry.\n\nThe relationships between tables are crucial for understanding this operation. Each project includes multiple sprints, with each sprint representing a defined period of focused work on specific tasks. A task can be linked to a single sprint but may also extend across multiple sprints if it requires more than one iteration to complete. Comments are tied to tasks, providing insights into the discussions and decisions made about each one, while messages facilitate communication between users about project-related topics. Users are at the center of this system, engaging with projects, sprints, tasks, and communications to ensure that everything runs smoothly.\n\nThis dataset is particularly useful for answering questions related to project management efficiency, team communication patterns, and task completion rates. Analysts can explore how many tasks are completed within a sprint versus those that require multiple sprints, helping teams identify potential bottlenecks or areas for improvement. Additionally, it allows for the analysis of user engagement and interaction frequencies, thus revealing how communication affects project success. By practicing with this synthetic dataset, developers can gain valuable insights into collaborative project management, honing their skills in data analysis, relationship mapping, and performance tracking.",
    "domain": "saas",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "project management",
      "sprints",
      "tasks",
      "team collaboration",
      "comments",
      "messages",
      "data analytics"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "sprints": {
        "description": "Each row represents a sprint within a project, linking to tasks and tracking their durations.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each sprint."
          },
          "project_id": {
            "kind": "fk",
            "ref": "projects.id",
            "description": "Reference to the project this sprint belongs to."
          },
          "start_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date when the sprint starts.",
            "trend": "growing"
          },
          "end_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date when the sprint ends.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "completed"
              ]
            },
            "trend": "growing"
          },
          "status": {
            "kind": "enum",
            "values": [
              "planned",
              "in_progress",
              "completed"
            ],
            "description": "Current status of the sprint."
          }
        }
      },
      "tasks": {
        "description": "This table contains tasks assigned to sprints, detailing their progress and ownership.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each task."
          },
          "sprint_id": {
            "kind": "fk",
            "ref": "sprints.id",
            "description": "Reference to the sprint this task is part of."
          },
          "title": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Title of the task.",
            "pool": [
              "design",
              "development",
              "testing",
              "research",
              "deployment",
              "review",
              "planning",
              "analysis",
              "documentation",
              "sprint",
              "iteration",
              "feedback",
              "optimization",
              "integration",
              "setup",
              "launch",
              "evaluation",
              "configuration",
              "debugging",
              "refinement",
              "presentation"
            ]
          },
          "description": {
            "kind": "paragraph",
            "min": 20,
            "max": 200,
            "description": "Detailed description of the task.",
            "nullable": true
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Timestamp when the task was created.",
            "dayProfile": "business"
          },
          "completed": {
            "kind": "bool",
            "trueRate": 0.7,
            "description": "Indicates if the task has been completed."
          }
        }
      },
      "comments": {
        "description": "This table stores comments made on tasks, linking back to the respective tasks for context.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each comment."
          },
          "task_id": {
            "kind": "fk",
            "ref": "tasks.id",
            "description": "Reference to the task this comment relates to."
          },
          "content": {
            "kind": "paragraph",
            "min": 5,
            "max": 150,
            "description": "The content of the comment.",
            "nullable": true
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Timestamp when the comment was created.",
            "dayProfile": "waking"
          }
        }
      },
      "messages": {
        "description": "This table captures messages exchanged between team members, associated with specific sprints.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each message."
          },
          "sprint_id": {
            "kind": "fk",
            "ref": "sprints.id",
            "description": "Reference to the sprint this message is associated with."
          },
          "sender_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Reference to the user who sent the message."
          },
          "content": {
            "kind": "paragraph",
            "min": 5,
            "max": 150,
            "description": "The content of the message.",
            "nullable": true
          },
          "sent_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Timestamp when the message was sent.",
            "dayProfile": "waking"
          }
        }
      },
      "projects": {
        "description": "This table lists the projects that contain multiple sprints and tasks.",
        "rows": 20,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each project."
          },
          "name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the project.",
            "nullable": true,
            "pool": [
              "alpha",
              "beta",
              "gamma",
              "delta",
              "project",
              "initiative",
              "collaboration",
              "strategy",
              "framework",
              "platform",
              "solution",
              "system",
              "tool",
              "application",
              "service",
              "program",
              "venture",
              "enterprise",
              "design",
              "development",
              "innovation"
            ]
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Timestamp when the project was created.",
            "trend": "growing"
          }
        }
      },
      "users": {
        "description": "This table contains information about users participating in projects and sprints.",
        "rows": 50,
        "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
          },
          "role": {
            "kind": "enum",
            "values": [
              "admin",
              "member"
            ],
            "description": "Role of the user in the project."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "How many tasks are completed within a single sprint?",
      "What is the average duration of sprints across different projects?",
      "Which users contribute the most comments on tasks?",
      "What patterns can we observe in message frequency during sprints?",
      "How does task completion rate vary by sprint status?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Tasks and Sprints",
        "sql": "SELECT tasks.title, sprints.start_date, sprints.end_date FROM tasks JOIN sprints ON tasks.sprint_id = sprints.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Completed Tasks by Sprint",
        "sql": "SELECT sprints.id, COUNT(tasks.id) AS completed_tasks FROM sprints LEFT JOIN tasks ON sprints.id = tasks.sprint_id WHERE tasks.completed = true GROUP BY sprints.id;",
        "dialect": "postgres"
      },
      {
        "title": "Average Sprint Duration",
        "sql": "SELECT AVG(end_date - start_date) AS avg_duration FROM sprints;",
        "dialect": "postgres"
      },
      {
        "title": "Comments per Task",
        "sql": "SELECT tasks.title, COUNT(comments.id) AS comment_count FROM tasks LEFT JOIN comments ON tasks.id = comments.task_id GROUP BY tasks.title;",
        "dialect": "postgres"
      },
      {
        "title": "Messages Sent During Sprints",
        "sql": "SELECT sprints.id, COUNT(messages.id) AS message_count FROM sprints LEFT JOIN messages ON sprints.id = messages.sprint_id GROUP BY sprints.id;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Project Managers",
        "body": "Project managers can use this dataset to analyze the effective allocation of tasks across sprints and monitor the overall progress of projects. By examining task completion rates and the frequency of communication, they can identify potential bottlenecks and improve team productivity."
      },
      {
        "title": "Data Analysts",
        "body": "Data analysts can leverage this dataset to create reports and visualizations that showcase team dynamics and project timelines. They can explore trends in task completion and the correlation between messaging activity and task progress, providing valuable insights for team retrospectives."
      },
      {
        "title": "Educators",
        "body": "Educators can utilize this dataset as a teaching resource in courses related to project management and team collaboration tools. By engaging students with real-world scenarios, they can enhance practical learning and illustrate the importance of effective communication in project success."
      },
      {
        "title": "Software Developers",
        "body": "Software developers can test and optimize their project management tools using this dataset. They can simulate various project scenarios, analyze how different sprint configurations impact task completion, and refine their applications based on data-driven insights."
      }
    ]
  },
  "counts": {
    "projects": 20,
    "sprints": 100,
    "tasks": 300,
    "comments": 500,
    "users": 50,
    "messages": 400
  },
  "stats": {
    "sprints": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "project_id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "start_date": {
          "nulls": 0,
          "distinct": 87,
          "min": "2023-01-07",
          "max": "2023-12-30"
        },
        "end_date": {
          "nulls": 71,
          "distinct": 27,
          "min": "2023-01-08",
          "max": "2023-12-27"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "completed",
          "max": "planned"
        }
      }
    },
    "tasks": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "sprint_id": {
          "nulls": 0,
          "distinct": 98,
          "min": 1,
          "max": 100
        },
        "title": {
          "nulls": 0,
          "distinct": 212
        },
        "description": {
          "nulls": 27,
          "distinct": 273
        },
        "created_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2023-01-02 15:22:11",
          "max": "2023-12-30 17:13:24"
        },
        "completed": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "comments": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "task_id": {
          "nulls": 0,
          "distinct": 232,
          "min": 2,
          "max": 300
        },
        "content": {
          "nulls": 42,
          "distinct": 458
        },
        "created_at": {
          "nulls": 0,
          "distinct": 500,
          "min": "2023-01-01 04:23:17",
          "max": "2023-12-30 10:29:50"
        }
      }
    },
    "messages": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "sprint_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "sender_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "content": {
          "nulls": 40,
          "distinct": 360
        },
        "sent_at": {
          "nulls": 0,
          "distinct": 400,
          "min": "2023-01-01 21:14:04",
          "max": "2023-12-30 12:40:50"
        }
      }
    },
    "projects": {
      "rows": 20,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "name": {
          "nulls": 3,
          "distinct": 17
        },
        "created_at": {
          "nulls": 0,
          "distinct": 20,
          "min": "2023-02-24 11:07:58",
          "max": "2023-12-29 01:54:07"
        }
      }
    },
    "users": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "full_name": {
          "nulls": 10,
          "distinct": 39,
          "min": "Alice Baker",
          "max": "Zara Schneider"
        },
        "email": {
          "nulls": 11,
          "distinct": 39
        },
        "role": {
          "nulls": 0,
          "distinct": 2,
          "min": "admin",
          "max": "member"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/projects.csv",
      "format": "csv",
      "table": "projects",
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/csv/projects.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/csv/projects.csv",
      "bytes": 829,
      "sha256": "0f8abc13a16eca5575824fdcc478eb16dc86cc23ec59905510f30d41222fd4a3",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/sprints.csv",
      "format": "csv",
      "table": "sprints",
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/csv/sprints.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/csv/sprints.csv",
      "bytes": 3145,
      "sha256": "f211ab7115ba93e6cc8968aa6df716a26590eff653337a33ae2bc8e5fcfb6688",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/tasks.csv",
      "format": "csv",
      "table": "tasks",
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/csv/tasks.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/csv/tasks.csv",
      "bytes": 62360,
      "sha256": "b8d2cbea995700920a6892965e9ec34751b68acf8f552bff30fa4e20349bf1b2",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/comments.csv",
      "format": "csv",
      "table": "comments",
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/csv/comments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/csv/comments.csv",
      "bytes": 91009,
      "sha256": "67eff120629237f63ce92b109d0ae57a60386c60881a7321152430045b4b5af4",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/csv/users.csv",
      "bytes": 1967,
      "sha256": "c68de487612acdbd3cffac9d930115dee30c8e40f16e345d2b313cc753a93507",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/messages.csv",
      "format": "csv",
      "table": "messages",
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/csv/messages.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/csv/messages.csv",
      "bytes": 73125,
      "sha256": "391478d2e207507049ea35953575f06da81f824303f55179e6efe676c48524f0",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "collaborative-project-management-tool-for-small-teams.json",
      "format": "json",
      "table": null,
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/collaborative-project-management-tool-for-small-teams.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/collaborative-project-management-tool-for-small-teams.json",
      "bytes": 370656,
      "sha256": "343f57457569554e4a7168810ffcb9ffd83e20ca8d4e876c5de6f4df0ab43be3",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/sql/postgres.sql",
      "bytes": 254890,
      "sha256": "d729356ea3825af44a3c3a64aab219835958201604ea8ad235cf1ba2516333f5",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/sql/mysql.sql",
      "bytes": 253259,
      "sha256": "1fe0493cfa78d0efc3c1a72cd79f5144a3dcb93ba11328c4c1bbfe03411a90cd",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/sql/mssql.sql",
      "bytes": 256627,
      "sha256": "1e37d9627a0c86b1ee8ef92770cdac8f68598f16a29e2f663b2edb90c104ba61",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/sql/sqlite.sql",
      "bytes": 253038,
      "sha256": "a6fcf3351bddedcd9fa130ef10ca78a14b04a5acb9e4acf2720688d5aef6a3de",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/prisma/seed.ts",
      "bytes": 338109,
      "sha256": "efd400219fcb2e08778977a7be6db2c30f6a787185ed6bf1b879af1f33bfdbfd",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/collaborative-project-management-tool-for-small-teams/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/collaborative-project-management-tool-for-small-teams/v2/django/fixtures.json",
      "bytes": 425793,
      "sha256": "0238ed00e13c4067e94d8e217fae31061b33b12d40d441d6bc9bc777cdf461a3",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768627569,
  "updatedAt": 1788777963103
}
