{
  "format": "dataset-manifest/1",
  "slug": "project-tracker",
  "version": 1,
  "seed": "project-tracker:1",
  "spec": {
    "format": "dataset/1",
    "slug": "project-tracker",
    "name": "Project Tracker",
    "tagline": "Workspaces, members, projects, tasks, and comments from a multi-tenant project tracker.",
    "description": "Members collaborate within workspaces to manage projects effectively, each contributing their skills to complete tasks and share insights through comments. In this multi-tenant project tracker, various teams operate simultaneously within their own dedicated environments, creating a dynamic atmosphere for project management. Each workspace allows for tailored organization, where members can be assigned specific roles and responsibilities in relation to their projects and tasks. \n\nEvery workspace hosts numerous projects, which in turn consist of multiple tasks, each with distinct statuses that reflect their progress. A row in the workspaces table represents a unique collaboration environment, while the members table includes individuals tied to those workspaces. Projects are linked to their respective workspaces, and tasks are associated with the projects they belong to. Additionally, comments facilitate communication about specific tasks, linking back to both the tasks and the projects they are associated with. \n\nThis dataset supports a variety of questions related to project management, such as tracking project progress, understanding task assignments, and analyzing team collaboration through comments. Developers can practice querying to uncover insights, such as identifying bottlenecks in task completion, monitoring member contributions across multiple workspaces, and evaluating project timelines. With synthetic data designed to mirror real-world scenarios, users can experiment freely without constraints. \n\nEngaging with this dataset offers a platform to refine skills in database management, crafting complex queries, and deriving meaningful analytics from structured data.",
    "domain": "saas",
    "shape": "multi-tenant",
    "useCases": [
      "orm-seeding",
      "test-fixtures"
    ],
    "keywords": [
      "project management",
      "workspaces",
      "tasks",
      "multi-tenant",
      "comments",
      "members",
      "statuses"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "workspaces": {
        "description": "This table contains information about different workspaces in the project tracker. Each row represents a unique workspace identified by its ID, along with its name and the date it was created.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each workspace."
          },
          "name": {
            "kind": "words",
            "min": 2,
            "max": 5,
            "description": "The name of the workspace."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "The date and time when the workspace was created.",
            "dayProfile": "business"
          }
        }
      },
      "members": {
        "description": "This table lists the members associated with each workspace. Each row represents a member identified by their ID, along with their full name, email, and the date they joined the workspace.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each member."
          },
          "workspace_id": {
            "kind": "fk",
            "ref": "workspaces.id",
            "description": "Foreign key linking to the workspaces table."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the member."
          },
          "email": {
            "kind": "email",
            "unique": true,
            "from": "full_name",
            "description": "The email address of the member."
          },
          "joined_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "The date and time when the member joined the workspace.",
            "dayProfile": "waking"
          }
        }
      },
      "projects": {
        "description": "This table contains details about projects within each workspace. Each row represents a project identified by its ID, along with its name, status, and the date it was created.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each project."
          },
          "workspace_id": {
            "kind": "fk",
            "ref": "workspaces.id",
            "description": "Foreign key linking to the workspaces table."
          },
          "name": {
            "kind": "words",
            "min": 2,
            "max": 5,
            "description": "The name of the project."
          },
          "status": {
            "kind": "enum",
            "values": [
              "active",
              "completed",
              "on_hold"
            ],
            "weights": [
              0.7,
              0.2,
              0.1
            ],
            "description": "The current status of the project (active, completed, or on_hold)."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "The date and time when the project was created.",
            "dayProfile": "business"
          }
        }
      },
      "tasks": {
        "description": "This table details tasks associated with each project. Each row represents a task identified by its ID, along with its name, status, and the date it was created.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each task."
          },
          "project_id": {
            "kind": "fk",
            "ref": "projects.id",
            "description": "Foreign key linking to the projects table."
          },
          "assignee_id": {
            "kind": "fk",
            "ref": "members.id",
            "nullable": true,
            "description": "Foreign key linking to the members table, indicating who is assigned to the task."
          },
          "name": {
            "kind": "words",
            "min": 2,
            "max": 8,
            "description": "The name of the task."
          },
          "status": {
            "kind": "enum",
            "values": [
              "todo",
              "in_progress",
              "done"
            ],
            "weights": [
              0.5,
              0.3,
              0.2
            ],
            "description": "The current status of the task (todo, in_progress, or done)."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "The date and time when the task was created.",
            "dayProfile": "business"
          }
        }
      },
      "comments": {
        "description": "This table contains comments made on tasks by members. Each row represents a comment identified by its ID, along with the content of the comment and the date it was created.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each comment."
          },
          "task_id": {
            "kind": "fk",
            "ref": "tasks.id",
            "description": "Foreign key linking to the tasks table."
          },
          "member_id": {
            "kind": "fk",
            "ref": "members.id",
            "description": "Foreign key linking to the members table, indicating who made the comment."
          },
          "content": {
            "kind": "sentence",
            "min": 5,
            "max": 50,
            "description": "The content of the comment."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "The date and time when the comment was created.",
            "dayProfile": "waking"
          }
        }
      }
    },
    "suggestedQueries": [
      {
        "title": "List all projects in a specific workspace",
        "sql": "SELECT p.name FROM projects p JOIN workspaces w ON p.workspace_id = w.id WHERE w.id = 1;",
        "dialect": "postgres"
      },
      {
        "title": "Count tasks by status for a specific project",
        "sql": "SELECT t.status, COUNT(*) FROM tasks t WHERE t.project_id = 1 GROUP BY t.status;",
        "dialect": "postgres"
      },
      {
        "title": "Get the number of comments per task",
        "sql": "SELECT t.name, COUNT(c.id) AS comment_count FROM tasks t LEFT JOIN comments c ON t.id = c.task_id GROUP BY t.name;",
        "dialect": "postgres"
      },
      {
        "title": "Find the most active members by number of tasks assigned",
        "sql": "SELECT m.full_name, COUNT(t.id) AS tasks_assigned FROM members m JOIN tasks t ON m.id = t.assignee_id GROUP BY m.full_name ORDER BY tasks_assigned DESC;",
        "dialect": "postgres"
      },
      {
        "title": "Average time to complete tasks by project",
        "sql": "SELECT p.name, AVG(EXTRACT(EPOCH FROM (t.updated_at - t.created_at)) / 3600) AS avg_hours FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.status = 'done' GROUP BY p.name;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Project Manager Monitoring",
        "body": "A project manager might reach for this dataset to monitor the progress of various projects within their workspace. By analyzing the number of active and completed projects, they can assess the overall health of their projects and identify any that may need additional resources or attention. This data can help in making informed decisions about project timelines and team allocations."
      },
      {
        "title": "Team Collaboration Insights",
        "body": "A team lead could utilize this dataset to understand team collaboration dynamics by looking at the number of comments made on tasks. By identifying which tasks have received the most feedback, they can gauge team engagement and address any potential communication gaps. This insight can help improve collaboration strategies and ensure that team members are actively participating in discussions."
      },
      {
        "title": "Performance Analysis",
        "body": "An analyst may use this dataset to evaluate individual performance by examining the number of tasks assigned to each member and their completion rates. By analyzing the average time taken to complete tasks and the distribution of tasks across team members, they can identify high performers and those who may need additional support or training. This analysis can inform performance reviews and professional development plans."
      }
    ],
    "analysisQuestions": [
      "What is the average number of tasks per project?",
      "Which members have the most comments on tasks?",
      "How many projects are currently active in each workspace?"
    ]
  },
  "counts": {
    "workspaces": 50,
    "members": 200,
    "projects": 150,
    "tasks": 400,
    "comments": 600
  },
  "stats": {
    "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": "2022-01-06 21:05:48",
          "max": "2022-12-28 11:46:21"
        }
      }
    },
    "members": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "workspace_id": {
          "nulls": 0,
          "distinct": 47,
          "min": 1,
          "max": 50
        },
        "full_name": {
          "nulls": 0,
          "distinct": 192,
          "min": "Alice Costa",
          "max": "Zoe Zhang"
        },
        "email": {
          "nulls": 0,
          "distinct": 200
        },
        "joined_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2022-01-02 10:53:43",
          "max": "2022-12-30 12:43:40"
        }
      }
    },
    "projects": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "workspace_id": {
          "nulls": 0,
          "distinct": 48,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 0,
          "distinct": 149
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "active",
          "max": "on_hold"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 150,
          "min": "2022-01-02 11:43:19",
          "max": "2022-12-31 07:01:35"
        }
      }
    },
    "tasks": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "project_id": {
          "nulls": 0,
          "distinct": 139,
          "min": 1,
          "max": 150
        },
        "assignee_id": {
          "nulls": 42,
          "distinct": 166,
          "min": 1,
          "max": 200
        },
        "name": {
          "nulls": 0,
          "distinct": 400
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "done",
          "max": "todo"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 400,
          "min": "2022-01-01 05:13:10",
          "max": "2022-12-30 12:48:44"
        }
      }
    },
    "comments": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "task_id": {
          "nulls": 0,
          "distinct": 306,
          "min": 1,
          "max": 400
        },
        "member_id": {
          "nulls": 0,
          "distinct": 189,
          "min": 1,
          "max": 200
        },
        "content": {
          "nulls": 0,
          "distinct": 594
        },
        "created_at": {
          "nulls": 0,
          "distinct": 600,
          "min": "2022-01-01 18:14:00",
          "max": "2023-01-01 18:55:33"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/workspaces.csv",
      "format": "csv",
      "table": "workspaces",
      "key": "datasets/project-tracker/v1/csv/workspaces.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/csv/workspaces.csv",
      "bytes": 2300,
      "sha256": "b14ad455579df22cf2925fb4750608df20064a34027fd3b980584cc7ba446cea",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/members.csv",
      "format": "csv",
      "table": "members",
      "key": "datasets/project-tracker/v1/csv/members.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/csv/members.csv",
      "bytes": 12754,
      "sha256": "2f86059c90eafae562fe0d525a99b0591853986e3b395cceca6faccc56cb9f55",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/projects.csv",
      "format": "csv",
      "table": "projects",
      "key": "datasets/project-tracker/v1/csv/projects.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/csv/projects.csv",
      "bytes": 8646,
      "sha256": "f7144630e7d03085662a67cb95ebc0f40a2ee14325a761ac16e9a64d7d96c1be",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/tasks.csv",
      "format": "csv",
      "table": "tasks",
      "key": "datasets/project-tracker/v1/csv/tasks.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/csv/tasks.csv",
      "bytes": 28613,
      "sha256": "56b970e7e6f7acb2afd850d150fa220eeaa54be0d19239f7c24fac4371ba5a99",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/comments.csv",
      "format": "csv",
      "table": "comments",
      "key": "datasets/project-tracker/v1/csv/comments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/csv/comments.csv",
      "bytes": 53339,
      "sha256": "08195d88ba1adf6d6bde34c377a03ff149cc1e1ac9fd9cd506821e6118ef265d",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "project-tracker.json",
      "format": "json",
      "table": null,
      "key": "datasets/project-tracker/v1/project-tracker.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/project-tracker.json",
      "bytes": 259775,
      "sha256": "69e5b0842424de61ff7d7583178c3308a1fb1b1aedf3e635d1c3d502800878ad",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/project-tracker/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/sql/postgres.sql",
      "bytes": 130029,
      "sha256": "a25b3d8e1e0096a5b5fb740ef8eb28bc5f2f0854d48d29c1569a74f8075b1e3d",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/project-tracker/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/sql/mysql.sql",
      "bytes": 129473,
      "sha256": "f847718584388bb215e7ee62d67291a1509c0adbb28979b356a3bbd874aefca7",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/project-tracker/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/sql/mssql.sql",
      "bytes": 133345,
      "sha256": "18de8af38458695f78adc309daf736f5880a776165933172dfad976b0a0ec23a",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/project-tracker/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/sql/sqlite.sql",
      "bytes": 129224,
      "sha256": "d88a74dfb9a27c7d5ee609e838371f9a245d9bdbbba046a66d7638201efe25e8",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/project-tracker/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/prisma/seed.ts",
      "bytes": 223366,
      "sha256": "43d55a3c087d30500cb5e86a352e72ae0f0ac58f1c12a417a788b383c7e6b980",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/project-tracker/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/project-tracker/v1/django/fixtures.json",
      "bytes": 314327,
      "sha256": "feb5069e96f912a4f84b5090105dc96a7d0576a71ef71ac944e110612fef19b9",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768689671,
  "updatedAt": 1788768689671
}
