{
  "format": "dataset-manifest/1",
  "slug": "creative-canvas-metrics",
  "version": 1,
  "seed": "creative-canvas-metrics:1",
  "spec": {
    "format": "dataset/1",
    "slug": "creative-canvas-metrics",
    "name": "Creative Canvas Metrics",
    "tagline": "User interactions, challenges, posts, votes, badges, and transactions from an AI-generated art platform.",
    "description": "Artists and hobbyists submit their creations on an AI-generated art platform, engaging in a dynamic community where creativity flourishes. Users participate in challenges, showcasing their skills while others vote for their favorite entries. Each interaction contributes to a vibrant ecosystem where talent is recognized through earned credits and badges. This platform is designed to foster artistic expression, allowing users to create unique artworks driven by advanced algorithms.\n\nThe data model includes several interconnected tables: the 'users' table details individual users along with their profiles and activity levels; 'challenges' outlines various contests that users can enter, providing descriptions and timelines; 'posts' captures the artworks submitted by users, linking back to the specific challenges they were created for; 'votes' records the community's feedback, showing which posts received the most support; 'badges' highlights the achievements of users based on their performance and engagement; 'transactions' tracks how users earn and spend their credits within the platform. Each row within these tables offers a glimpse into user behavior and community dynamics, allowing for rich analysis through various joins.\n\nThis dataset is particularly useful for exploring questions around user engagement: How do voting patterns change across different challenges? Which challenges attract the most submissions? What factors contribute to earning badges or high credit rewards? Users can practice data analysis skills by examining trends, calculating statistics, and visualizing interactions within the platform. It’s important to note that the data is synthetic, mimicking real-world user interactions to provide a practical learning experience.",
    "domain": "saas",
    "shape": "ledger",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "art platform",
      "AI-generated art",
      "user engagement",
      "challenges",
      "votes",
      "credits",
      "transactions"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table holds information about the users on the platform. Each row represents a distinct user, linked to their submissions and activity.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the user."
          },
          "joined_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the user joined the platform.",
            "dayProfile": "waking"
          },
          "credits": {
            "kind": "int",
            "min": 0,
            "max": 1000,
            "description": "Total credits accumulated by the user."
          }
        }
      },
      "challenges": {
        "description": "This table contains details about the challenges hosted on the platform. Each challenge can have multiple submissions from users.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each challenge."
          },
          "title": {
            "kind": "words",
            "min": 3,
            "max": 20,
            "description": "Title of the challenge."
          },
          "description": {
            "kind": "paragraph",
            "min": 10,
            "max": 300,
            "description": "Description of the challenge."
          },
          "start_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Start date of the challenge.",
            "trend": "growing"
          },
          "end_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "End date of the challenge.",
            "trend": "growing"
          }
        }
      },
      "posts": {
        "description": "This table tracks the artworks submitted by users. Each post is linked to a user and may belong to a challenge.",
        "rows": {
          "per": "users",
          "via": "user_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each post."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Identifier for the user who submitted the post."
          },
          "challenge_id": {
            "kind": "fk",
            "ref": "challenges.id",
            "nullable": true,
            "description": "Identifier for the challenge associated with the post."
          },
          "title": {
            "kind": "words",
            "min": 3,
            "max": 20,
            "description": "Title of the artwork."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the post was submitted.",
            "dayProfile": "waking"
          }
        }
      },
      "votes": {
        "description": "This table records votes cast by users for various posts. Each vote is linked to a user and a specific post.",
        "rows": {
          "per": "posts",
          "via": "post_id",
          "min": 1,
          "max": 10,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each vote."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Identifier for the user who cast the vote."
          },
          "post_id": {
            "kind": "fk",
            "ref": "posts.id",
            "description": "Identifier for the post being voted on."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the vote was cast.",
            "dayProfile": "waking"
          }
        }
      },
      "badges": {
        "description": "This table contains information about badges that users can earn based on their activity and achievements.",
        "rows": {
          "per": "users",
          "via": "user_id",
          "min": 0,
          "max": 3,
          "skew": "heavy-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each badge."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Identifier for the user who earned the badge."
          },
          "badge_type": {
            "kind": "enum",
            "values": [
              "Beginner",
              "Intermediate",
              "Expert",
              "Champion"
            ],
            "description": "Type of badge earned by the user."
          },
          "earned_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the badge was earned.",
            "dayProfile": "waking"
          }
        }
      },
      "transactions": {
        "description": "This table logs the credit transactions made by users, including expenditures and earnings.",
        "rows": {
          "per": "users",
          "via": "user_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each transaction."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Identifier for the user making the transaction."
          },
          "amount": {
            "kind": "decimal",
            "min": -100,
            "max": 100,
            "scale": 2,
            "description": "Amount of credits gained or spent in the transaction."
          },
          "transaction_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the transaction occurred.",
            "trend": "seasonal"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "nullable",
      "timestamped",
      "categorical"
    ],
    "analysisQuestions": [
      "How many users participate in challenges versus those who do not?",
      "What is the average number of votes a post receives?",
      "Which badges are most commonly earned by users?",
      "What trends can be observed in user credit transactions over time?",
      "How does participation in challenges correlate with credit accumulation?"
    ],
    "suggestedQueries": [
      {
        "title": "List all users and their total credits",
        "sql": "SELECT full_name, credits FROM users;",
        "dialect": "postgres"
      },
      {
        "title": "Count posts per challenge",
        "sql": "SELECT challenge_id, COUNT(*) AS post_count FROM posts GROUP BY challenge_id;",
        "dialect": "postgres"
      },
      {
        "title": "Aggregate votes by user",
        "sql": "SELECT user_id, COUNT(*) AS total_votes FROM votes GROUP BY user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Find average transaction amount per user",
        "sql": "SELECT user_id, AVG(amount) AS avg_transaction FROM transactions GROUP BY user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Retrieve posts with the highest votes",
        "sql": "SELECT post_id, COUNT(votes.id) AS vote_count FROM posts LEFT JOIN votes ON posts.id = votes.post_id GROUP BY post_id ORDER BY vote_count DESC LIMIT 10;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Data Analysts",
        "body": "Data analysts can utilize this dataset to explore user behavior on the platform, analyzing how engagement varies across different challenges and how it impacts credit accumulation."
      },
      {
        "title": "Educators",
        "body": "Educators can use this dataset in classroom settings to teach SQL skills, allowing students to practice querying against a realistic schema that captures user interactions and transactions."
      },
      {
        "title": "Product Managers",
        "body": "Product managers can leverage insights from this dataset to understand which features of the platform drive user engagement and how different badges incentivize participation."
      },
      {
        "title": "Developers",
        "body": "Developers can use this dataset to build applications or tools that analyze artworks submitted by users, utilizing the underlying data to enhance user experience and community engagement."
      }
    ]
  },
  "counts": {
    "challenges": 50,
    "users": 150,
    "badges": 100,
    "posts": 343,
    "transactions": 349,
    "votes": 1295
  },
  "stats": {
    "users": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "full_name": {
          "nulls": 0,
          "distinct": 148,
          "min": "Alice Martin",
          "max": "Yusuf Park"
        },
        "email": {
          "nulls": 0,
          "distinct": 150
        },
        "joined_at": {
          "nulls": 0,
          "distinct": 150,
          "min": "2022-01-06 16:25:31",
          "max": "2023-12-26 19:49:01"
        },
        "credits": {
          "nulls": 0,
          "distinct": 143,
          "min": 7,
          "max": 996
        }
      }
    },
    "challenges": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "title": {
          "nulls": 0,
          "distinct": 50
        },
        "description": {
          "nulls": 0,
          "distinct": 50
        },
        "start_date": {
          "nulls": 0,
          "distinct": 45,
          "min": "2023-01-16",
          "max": "2023-12-30"
        },
        "end_date": {
          "nulls": 0,
          "distinct": 46,
          "min": "2023-02-07",
          "max": "2023-12-29"
        }
      }
    },
    "posts": {
      "rows": 343,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 343,
          "min": 1,
          "max": 343
        },
        "user_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "challenge_id": {
          "nulls": 33,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "title": {
          "nulls": 0,
          "distinct": 343
        },
        "created_at": {
          "nulls": 0,
          "distinct": 343,
          "min": "2023-01-03 14:40:17",
          "max": "2023-12-31 14:57:53"
        }
      }
    },
    "votes": {
      "rows": 1295,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 1295,
          "min": 1,
          "max": 1295
        },
        "user_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "post_id": {
          "nulls": 0,
          "distinct": 343,
          "min": 1,
          "max": 343
        },
        "created_at": {
          "nulls": 0,
          "distinct": 1295,
          "min": "2023-01-01 10:34:45",
          "max": "2023-12-31 22:43:15"
        }
      }
    },
    "badges": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "user_id": {
          "nulls": 0,
          "distinct": 54,
          "min": 2,
          "max": 150
        },
        "badge_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "Beginner",
          "max": "Intermediate"
        },
        "earned_at": {
          "nulls": 0,
          "distinct": 100,
          "min": "2023-01-02 21:30:23",
          "max": "2023-12-30 14:23:54"
        }
      }
    },
    "transactions": {
      "rows": 349,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 349,
          "min": 1,
          "max": 349
        },
        "user_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "amount": {
          "nulls": 0,
          "distinct": 349,
          "min": -99.93,
          "max": 99.42
        },
        "transaction_date": {
          "nulls": 0,
          "distinct": 349,
          "min": "2023-01-01 12:55:16",
          "max": "2023-12-31 15:05:27"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/challenges.csv",
      "format": "csv",
      "table": "challenges",
      "key": "datasets/creative-canvas-metrics/v1/csv/challenges.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/csv/challenges.csv",
      "bytes": 13262,
      "sha256": "d22f181bd90281f8ef6f379474dfaadeaf5f6d28305e5b4595cbf4b35f5a69ce",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/creative-canvas-metrics/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/csv/users.csv",
      "bytes": 9738,
      "sha256": "37a6d9d1aeb804f5955330a5160938aac1731c97e7a801c7613b8d6fd524f012",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/badges.csv",
      "format": "csv",
      "table": "badges",
      "key": "datasets/creative-canvas-metrics/v1/csv/badges.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/csv/badges.csv",
      "bytes": 3679,
      "sha256": "f4a719520736d1e0c3ea967fc5ba2781b661ec0be8962aae3eef8507f2f18db8",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/posts.csv",
      "format": "csv",
      "table": "posts",
      "key": "datasets/creative-canvas-metrics/v1/csv/posts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/csv/posts.csv",
      "bytes": 36879,
      "sha256": "669d8e7571c7f1504793cf1fc5553717c2f64be76e27109f10d02e1343908983",
      "rows": 343,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/transactions.csv",
      "format": "csv",
      "table": "transactions",
      "key": "datasets/creative-canvas-metrics/v1/csv/transactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/csv/transactions.csv",
      "bytes": 12036,
      "sha256": "fef50798582f56afd20e3c48d173ce3e4ab4b390134765e14f57b5cf5dff25af",
      "rows": 349,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/votes.csv",
      "format": "csv",
      "table": "votes",
      "key": "datasets/creative-canvas-metrics/v1/csv/votes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/csv/votes.csv",
      "bytes": 41609,
      "sha256": "a421fd0c6a8b60054cfb36406ad236584644f3e2ef8f1eee8aca43a54bf37b93",
      "rows": 1295,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "creative-canvas-metrics.json",
      "format": "json",
      "table": null,
      "key": "datasets/creative-canvas-metrics/v1/creative-canvas-metrics.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/creative-canvas-metrics.json",
      "bytes": 321503,
      "sha256": "994507e3f7b6b0033405922ed4f93099897459a051155bbfb08fc534bac44101",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/creative-canvas-metrics/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/sql/postgres.sql",
      "bytes": 148410,
      "sha256": "14575d0f75466935ab62d14c5534e2f8ec37a301930204e6aeb75c683f5aa836",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/creative-canvas-metrics/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/sql/mysql.sql",
      "bytes": 147748,
      "sha256": "5db78c24d4c11421340ef5c01edf944d95597e76dd2c94e3200262091e12e15e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/creative-canvas-metrics/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/sql/mssql.sql",
      "bytes": 151303,
      "sha256": "9a2f76559600e65c0cf0cc0cbbf83462495bdb88a6be1cf9d3b04dd88529950b",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/creative-canvas-metrics/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/sql/sqlite.sql",
      "bytes": 147528,
      "sha256": "99890394c78dfc13d38be1a516c80db602554909820c1ac32a9f721aeaa4f83e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/creative-canvas-metrics/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/prisma/seed.ts",
      "bytes": 279596,
      "sha256": "d2fbfec9ca72481c00071308030223b0583d90452f8f244cf04b73e8c72730d7",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/creative-canvas-metrics/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/creative-canvas-metrics/v1/django/fixtures.json",
      "bytes": 409747,
      "sha256": "e5347316e16008a41a6ad2fd064e8434781392d7969b1a038681e5b65b64b5dd",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766857846,
  "updatedAt": 1788766857846
}
