{
  "format": "dataset-manifest/1",
  "slug": "task-management-app",
  "version": 1,
  "seed": "task-management-app:1",
  "spec": {
    "format": "dataset/1",
    "slug": "task-management-app",
    "name": "Project Management Insights",
    "tagline": "Users, workspaces, projects, milestones, tasks, and time entries from a project management platform.",
    "description": "Teams collaborate to streamline project workflows, ensuring effective communication and progress tracking across various initiatives. Members operate within workspaces tailored to manage tasks, milestones, and subtasks. Each task is assigned to individual users, contributing to the overall project's success. As team members log their activities through time entries, they provide valuable insights into the actual time spent on each aspect of their work. The ability to comment on tasks enhances collaboration, while custom fields allow teams to adapt the platform to their unique project requirements. \n\nThe dataset includes several interconnected tables: Users represent individuals utilizing the platform, while Workspaces organize these users into specific environments for project management. Projects delineate distinct initiatives, each containing multiple Milestones that signify key objectives. Under each milestone, a range of Tasks can be found, which are essential components of project execution. Time Entries capture the duration spent on each task by users, allowing for detailed time tracking and project analysis. \n\nWith this data, developers can explore various questions: How effectively are teams utilizing their workspaces? What is the average time spent on tasks across different projects? Which milestones tend to have the most overdue tasks? Are there patterns in the use of custom fields that correlate with project success? These insights make the dataset an excellent resource for practicing data analysis and visualization techniques, enabling developers to derive meaningful conclusions from synthetic data reflecting realistic usage patterns in team-based environments. By working with this sample data, users can build skills in relational database management and project analytics.",
    "domain": "saas",
    "shape": "multi-tenant",
    "useCases": [
      "orm-seeding",
      "api-mocking"
    ],
    "keywords": [
      "project management",
      "tasks",
      "milestones",
      "time tracking",
      "collaboration",
      "team productivity",
      "SaaS"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "Each row represents a user in the system, linked to their respective workspaces and projects. Users can contribute to various tasks and milestones.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "User's email address, associated with their full name."
          },
          "workspace_id": {
            "kind": "fk",
            "ref": "workspaces.id",
            "description": "References the workspace the user belongs to."
          }
        }
      },
      "workspaces": {
        "description": "This table contains details about different workspaces where teams collaborate on projects. Each workspace can have multiple users.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the workspace."
          },
          "name": {
            "kind": "words",
            "min": 2,
            "max": 5,
            "description": "The name of the workspace."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date when the workspace was created.",
            "dayProfile": "business"
          }
        }
      },
      "projects": {
        "description": "Projects are specific initiatives within a workspace, each linked to multiple milestones and tasks. This table captures project details.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the project."
          },
          "name": {
            "kind": "words",
            "min": 2,
            "max": 5,
            "description": "The name of the project."
          },
          "workspace_id": {
            "kind": "fk",
            "ref": "workspaces.id",
            "description": "References the workspace the project belongs to."
          },
          "status": {
            "kind": "enum",
            "values": [
              "not started",
              "in progress",
              "completed"
            ],
            "description": "Current status of the project."
          }
        }
      },
      "milestones": {
        "description": "Each milestone represents a significant point in a project timeline, linked to its respective project. Milestones help in tracking progress.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the milestone."
          },
          "name": {
            "kind": "words",
            "min": 2,
            "max": 5,
            "description": "The name of the milestone."
          },
          "project_id": {
            "kind": "fk",
            "ref": "projects.id",
            "description": "References the project to which this milestone belongs."
          },
          "due_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The due date for the milestone.",
            "trend": "growing"
          }
        }
      },
      "tasks": {
        "description": "Tasks are individual work items attached to milestones, allowing team members to track specific activities and responsibilities.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the task."
          },
          "name": {
            "kind": "words",
            "min": 2,
            "max": 5,
            "description": "The name of the task."
          },
          "milestone_id": {
            "kind": "fk",
            "ref": "milestones.id",
            "description": "References the milestone this task is associated with."
          },
          "assigned_to": {
            "kind": "fk",
            "ref": "users.id",
            "nullable": true,
            "description": "References the user assigned to this task."
          },
          "status": {
            "kind": "enum",
            "values": [
              "not started",
              "in progress",
              "completed"
            ],
            "description": "Current status of the task."
          }
        }
      },
      "time_entries": {
        "description": "Time entries record the duration spent on tasks, linked to specific users and tasks. This data helps in analyzing productivity.",
        "rows": 800,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the time entry."
          },
          "task_id": {
            "kind": "fk",
            "ref": "tasks.id",
            "description": "References the task this time entry relates to."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "References the user who logged the time."
          },
          "duration": {
            "kind": "decimal",
            "min": 0,
            "max": 24,
            "scale": 2,
            "description": "Duration of time logged for the task, in hours."
          },
          "logged_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the entry was logged.",
            "dayProfile": "waking"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "categorical",
      "nullable",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "How does the distribution of task statuses impact project completion rates?",
      "Which users are logging the most hours, and what tasks are they associated with?",
      "What is the average duration of tasks by project, and how does it vary across milestones?",
      "Which projects have the most milestones, and what does that indicate about their complexity?",
      "How frequently are custom fields utilized across different workspaces?"
    ],
    "suggestedQueries": [
      {
        "title": "Get all tasks for a specific project",
        "sql": "SELECT tasks.name FROM tasks JOIN milestones ON tasks.milestone_id = milestones.id JOIN projects ON milestones.project_id = projects.id WHERE projects.name = 'Project A';",
        "dialect": "postgres"
      },
      {
        "title": "Count tasks by status for each project",
        "sql": "SELECT projects.name, tasks.status, COUNT(tasks.id) FROM tasks JOIN milestones ON tasks.milestone_id = milestones.id JOIN projects ON milestones.project_id = projects.id GROUP BY projects.name, tasks.status;",
        "dialect": "postgres"
      },
      {
        "title": "Total time logged per user",
        "sql": "SELECT users.full_name, SUM(time_entries.duration) FROM time_entries JOIN users ON time_entries.user_id = users.id GROUP BY users.full_name;",
        "dialect": "postgres"
      },
      {
        "title": "Average task duration by milestone",
        "sql": "SELECT milestones.name, AVG(time_entries.duration) FROM time_entries JOIN tasks ON time_entries.task_id = tasks.id JOIN milestones ON tasks.milestone_id = milestones.id GROUP BY milestones.name;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Project Managers Analyzing Workflow Efficiency",
        "body": "Project managers can use this dataset to analyze task completion rates and identify bottlenecks in project workflows. By querying the data, they can ascertain which projects are lagging and adjust resources accordingly."
      },
      {
        "title": "Developers Mocking API Responses",
        "body": "Developers can utilize this dataset to mock API responses for a task management application. By generating realistic user and task data, they can test frontend interactions and ensure the application behaves as expected under various scenarios."
      },
      {
        "title": "Data Analysts Exploring Team Productivity Trends",
        "body": "Data analysts can explore trends in team productivity by examining time entries and task statuses. They can identify patterns in how different teams allocate their time across tasks and projects, providing insights for future planning."
      },
      {
        "title": "SaaS Product Teams Testing Features",
        "body": "SaaS product teams can use this dataset to test new features within their project management application. By simulating various user interactions and project setups, they can validate functionality and improve user experience."
      }
    ]
  },
  "counts": {
    "workspaces": 50,
    "projects": 300,
    "milestones": 150,
    "users": 200,
    "tasks": 600,
    "time_entries": 800
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 196,
          "min": "Alice Castro",
          "max": "Zoe Wilson"
        },
        "email": {
          "nulls": 0,
          "distinct": 200
        },
        "workspace_id": {
          "nulls": 0,
          "distinct": 48,
          "min": 1,
          "max": 50
        }
      }
    },
    "workspaces": {
      "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-01-01 14:18:37",
          "max": "2023-11-21 11:28:20"
        }
      }
    },
    "projects": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "name": {
          "nulls": 0,
          "distinct": 299
        },
        "workspace_id": {
          "nulls": 0,
          "distinct": 49,
          "min": 1,
          "max": 50
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "completed",
          "max": "not started"
        }
      }
    },
    "milestones": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "name": {
          "nulls": 0,
          "distinct": 150
        },
        "project_id": {
          "nulls": 0,
          "distinct": 117,
          "min": 4,
          "max": 300
        },
        "due_date": {
          "nulls": 0,
          "distinct": 121,
          "min": "2023-01-02",
          "max": "2023-12-30"
        }
      }
    },
    "tasks": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "name": {
          "nulls": 0,
          "distinct": 600
        },
        "milestone_id": {
          "nulls": 0,
          "distinct": 147,
          "min": 1,
          "max": 150
        },
        "assigned_to": {
          "nulls": 70,
          "distinct": 188,
          "min": 1,
          "max": 200
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "completed",
          "max": "not started"
        }
      }
    },
    "time_entries": {
      "rows": 800,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 800,
          "min": 1,
          "max": 800
        },
        "task_id": {
          "nulls": 0,
          "distinct": 452,
          "min": 3,
          "max": 599
        },
        "user_id": {
          "nulls": 0,
          "distinct": 198,
          "min": 1,
          "max": 200
        },
        "duration": {
          "nulls": 0,
          "distinct": 679,
          "min": 0.01,
          "max": 23.95
        },
        "logged_at": {
          "nulls": 0,
          "distinct": 800,
          "min": "2023-01-01 08:20:45",
          "max": "2023-12-31 14:22:38"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/workspaces.csv",
      "format": "csv",
      "table": "workspaces",
      "key": "datasets/task-management-app/v1/csv/workspaces.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/csv/workspaces.csv",
      "bytes": 2468,
      "sha256": "03adb987351e5461a9605fcaccf6b01b6ca53eff1b5ef89f5f3a999970740230",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/projects.csv",
      "format": "csv",
      "table": "projects",
      "key": "datasets/task-management-app/v1/csv/projects.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/csv/projects.csv",
      "bytes": 12717,
      "sha256": "477b8df297cee0efc627f7677ebcafd56eaf74c4b8196ae73e774fdd5dbe2efe",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/milestones.csv",
      "format": "csv",
      "table": "milestones",
      "key": "datasets/task-management-app/v1/csv/milestones.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/csv/milestones.csv",
      "bytes": 6450,
      "sha256": "9dd2d7d142145e11457c75daa8e4622d4989bb95a53180c77248af99866b90ef",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/task-management-app/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/csv/users.csv",
      "bytes": 8665,
      "sha256": "a2ce5e282f394d7619a944fb68df1218e13b3f094eafeeadb28a486651eb8a6e",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/tasks.csv",
      "format": "csv",
      "table": "tasks",
      "key": "datasets/task-management-app/v1/csv/tasks.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/csv/tasks.csv",
      "bytes": 27794,
      "sha256": "270a60fc275f318784d9d0b4dc6c16e93a489c5f367e01474102468f571f5c5e",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/time_entries.csv",
      "format": "csv",
      "table": "time_entries",
      "key": "datasets/task-management-app/v1/csv/time_entries.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/csv/time_entries.csv",
      "bytes": 30212,
      "sha256": "b918d472181ca51bad47768eaca36b18320211493cb807ac065a340e23b5388c",
      "rows": 800,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "task-management-app.json",
      "format": "json",
      "table": null,
      "key": "datasets/task-management-app/v1/task-management-app.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/task-management-app.json",
      "bytes": 290140,
      "sha256": "2a45b1d2e39822327f8f0cc9320108c6887d5c4858c837b610abad865e375cf9",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/task-management-app/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/sql/postgres.sql",
      "bytes": 119313,
      "sha256": "d813261ebaa347ba119ee334700b26c4bd99fe0739a5371c06505fd296b29743",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/task-management-app/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/sql/mysql.sql",
      "bytes": 118640,
      "sha256": "76d0f12b91371b078915869e50992a54e67f931295c8ca633febae29e6ebabcc",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/task-management-app/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/sql/mssql.sql",
      "bytes": 122420,
      "sha256": "4d3ede634c73463f9559cdd34cefbb1149f34a8d7c9913db750491077066ab0c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/task-management-app/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/sql/sqlite.sql",
      "bytes": 118348,
      "sha256": "6ae2b10349011559db76fd238c2846293dc155d39650e803321a9956c10654c9",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/task-management-app/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/prisma/seed.ts",
      "bytes": 232756,
      "sha256": "2af397d35558fe0fe6f26228721c627284eaa0d90c65ae4abf918aae1eb84e25",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/task-management-app/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/task-management-app/v1/django/fixtures.json",
      "bytes": 376048,
      "sha256": "bfa134e0166db4fed3d5f92b44059650b8876c542f54347acd636060cc75bec7",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768291796,
  "updatedAt": 1788768291796
}
