{
  "format": "dataset-manifest/1",
  "slug": "blockchain-based-charity-donation-tracker",
  "version": 4,
  "seed": "blockchain-based-charity-donation-tracker:1",
  "engine": 1,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "slug": "blockchain-based-charity-donation-tracker",
    "name": "Charity Donation Insights",
    "tagline": "Donors, donations, beneficiaries, campaigns, and progress reports for a nonprofit using blockchain for transparency.",
    "description": "A nonprofit organization engages actively in charitable giving, leveraging blockchain technology to promote transparency and trust among donors. Donors contribute varying amounts, predominantly small and frequent donations, supporting multiple campaigns aimed at raising funds for diverse beneficiaries. Each campaign is designed to address specific needs, and the organization continuously updates its stakeholders on the impact of their contributions through detailed progress reports that highlight milestones achieved and meaningful changes facilitated by the donations.\n\nThe dataset includes several interconnected tables: the 'donors' table records each contributor's information, including their donation history. The 'donations' table captures the amounts donated, identifying the associated donor and linking them to specific campaigns. Each campaign is outlined in the 'campaigns' table, detailing its goals and progress. The 'beneficiaries' table enumerates the entities receiving aid, linking them to relevant campaigns and donations. Finally, the 'progress_reports' table presents updates on the outcomes of donations, illustrating how funds have been allocated and their impact, while also allowing for community governance proposals regarding funding decisions.\n\nThis structure enables a variety of analytical queries, such as identifying trends in donation behavior, evaluating the efficacy of campaigns, and assessing the overall impact on beneficiaries. Users can practice joining tables for insights on donor patterns, campaign success rates, and beneficiary outcomes. The data is synthetic, crafted to simulate real-world scenarios while providing a robust platform for analytical practice in the nonprofit sector.",
    "domain": "nonprofit",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "charity",
      "donations",
      "blockchain",
      "nonprofit",
      "fundraising",
      "transparency",
      "beneficiaries",
      "campaigns",
      "data analysis"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "donors": {
        "description": "This table contains information about individuals who donate to various campaigns. Each donor is uniquely identified and linked to their donations.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each donor."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the donor."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the donor, linked to their full name."
          },
          "city": {
            "kind": "city",
            "description": "City where the donor resides."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date when the donor registered.",
            "dayProfile": "waking"
          }
        }
      },
      "donations": {
        "description": "This table records each donation made by donors, linking to the respective donor and campaign. It captures the amount and date of the donation.",
        "rows": {
          "per": "donors",
          "via": "donor_id",
          "min": 1,
          "max": 10,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each donation."
          },
          "donor_id": {
            "kind": "fk",
            "ref": "donors.id",
            "description": "Identifier linking to the donor who made the donation."
          },
          "campaign_id": {
            "kind": "fk",
            "ref": "campaigns.id",
            "description": "Identifier linking to the campaign for which the donation was made."
          },
          "amount": {
            "kind": "decimal",
            "min": 5,
            "max": 5000,
            "scale": 2,
            "distribution": "long-tail",
            "description": "The amount of money donated."
          },
          "donation_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date when the donation was made.",
            "dayProfile": "waking",
            "trend": "growing"
          },
          "donation_method": {
            "kind": "enum",
            "values": [
              "credit_card",
              "paypal",
              "bank_transfer"
            ],
            "weights": [
              50,
              30,
              20
            ],
            "description": "The method used to make the donation."
          },
          "donation_status": {
            "kind": "enum",
            "values": [
              "completed",
              "pending",
              "refunded"
            ],
            "weights": [
              70,
              20,
              10
            ],
            "description": "The current status of the donation."
          }
        }
      },
      "beneficiaries": {
        "description": "This table contains information about individuals or organizations that receive aid from donations. Each beneficiary is linked to specific campaigns.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each beneficiary."
          },
          "name": {
            "kind": "fullName",
            "description": "The name of the beneficiary."
          },
          "description": {
            "kind": "sentence",
            "max": 200,
            "description": "A brief description of the beneficiary's purpose or mission."
          },
          "campaign_id": {
            "kind": "fk",
            "ref": "campaigns.id",
            "nullable": true,
            "description": "Identifier linking to the campaign that supports this beneficiary."
          },
          "beneficiary_type": {
            "kind": "enum",
            "values": [
              "individual",
              "organization",
              "community_group"
            ],
            "weights": [
              40,
              40,
              20
            ],
            "description": "The type of beneficiary receiving aid."
          },
          "total_aid_received": {
            "kind": "decimal",
            "min": 0,
            "max": 500000,
            "distribution": "long-tail",
            "description": "Total amount of aid received by the beneficiary."
          }
        }
      },
      "campaigns": {
        "description": "This table tracks various fundraising campaigns, detailing their goals and timeframes. Each campaign can receive multiple donations.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each campaign."
          },
          "name": {
            "kind": "productName",
            "description": "The name of the fundraising campaign."
          },
          "goal_amount": {
            "kind": "decimal",
            "min": 1000,
            "max": 100000,
            "scale": 2,
            "description": "The fundraising goal for the campaign.",
            "distribution": "long-tail"
          },
          "start_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The start date of the campaign.",
            "dayProfile": "business"
          },
          "end_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The end date of the campaign.",
            "dayProfile": "business"
          }
        }
      },
      "progress_reports": {
        "description": "This table contains progress reports for campaigns, detailing milestones achieved and the impact of donations.",
        "rows": {
          "per": "campaigns",
          "via": "campaign_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each progress report."
          },
          "campaign_id": {
            "kind": "fk",
            "ref": "campaigns.id",
            "description": "Identifier linking to the campaign for which the report is made."
          },
          "milestone": {
            "kind": "sentence",
            "max": 200,
            "description": "Description of the milestone achieved."
          },
          "report_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date of the progress report.",
            "dayProfile": "business"
          },
          "donations_received": {
            "kind": "decimal",
            "min": 0,
            "max": 1000000,
            "distribution": "normal",
            "description": "Total amount of donations received up to the report date."
          },
          "report_status": {
            "kind": "enum",
            "values": [
              "on_track",
              "behind_schedule",
              "completed"
            ],
            "weights": [
              60,
              30,
              10
            ],
            "description": "The current status of the campaign's progress as reported."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "nullable",
      "categorical",
      "timestamped"
    ],
    "analysisQuestions": [
      "What are the donation trends over the past years?",
      "Which campaigns have raised the most money?",
      "What is the average donation amount per donor?",
      "How do donations impact the beneficiaries' outcomes?",
      "What milestones have been achieved in various campaigns?"
    ],
    "suggestedQueries": [
      {
        "title": "List all donors and their total donations",
        "sql": "SELECT d.full_name, SUM(dt.amount) AS total_donations FROM donors d JOIN donations dt ON d.id = dt.donor_id GROUP BY d.full_name;",
        "dialect": "postgres"
      },
      {
        "title": "Find campaigns with donations exceeding their goals",
        "sql": "SELECT c.name FROM campaigns c JOIN donations dt ON c.id = dt.campaign_id GROUP BY c.name HAVING SUM(dt.amount) > c.goal_amount;",
        "dialect": "postgres"
      },
      {
        "title": "Get the average donation amount per campaign",
        "sql": "SELECT c.name, AVG(dt.amount) AS average_donation FROM campaigns c LEFT JOIN donations dt ON c.id = dt.campaign_id GROUP BY c.name;",
        "dialect": "postgres"
      },
      {
        "title": "Count donations per beneficiary",
        "sql": "SELECT b.name, COUNT(dt.id) AS donation_count FROM beneficiaries b LEFT JOIN donations dt ON b.campaign_id = dt.campaign_id GROUP BY b.name;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Nonprofit Fundraising Analysis",
        "body": "Nonprofit managers can utilize this dataset to analyze fundraising efforts and understand which campaigns are most effective. By examining donation patterns and average amounts, they can adjust their strategies to meet fundraising goals more effectively."
      },
      {
        "title": "Donor Engagement Strategies",
        "body": "Marketing teams can use this dataset to identify active donors and tailor engagement strategies. By analyzing donor contributions and preferences, they can create personalized communication that fosters long-term relationships and encourages larger donations."
      },
      {
        "title": "Impact Assessment Reports",
        "body": "Researchers and analysts can leverage this dataset to assess the impact of donations on beneficiaries. By reviewing progress reports and milestone achievements, they can provide insights into the effectiveness of various campaigns and their outcomes."
      },
      {
        "title": "Blockchain Technology in Nonprofits",
        "body": "Tech developers and blockchain enthusiasts can explore this dataset to understand how blockchain technology enhances transparency in donation processes. They can analyze transaction data to identify trends and develop applications that improve donor trust."
      }
    ]
  },
  "counts": {
    "campaigns": 50,
    "beneficiaries": 100,
    "donors": 200,
    "donations": 822,
    "progress_reports": 115
  },
  "stats": {
    "donors": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 199,
          "min": "Alice Ibrahim",
          "max": "Zoe Khan"
        },
        "email": {
          "nulls": 0,
          "distinct": 199
        },
        "city": {
          "nulls": 0,
          "distinct": 60,
          "min": "Amsterdam",
          "max": "Zurich"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2020-01-20 01:06:21",
          "max": "2023-12-30 18:53:16"
        }
      }
    },
    "donations": {
      "rows": 822,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 822,
          "min": 1,
          "max": 822
        },
        "donor_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "campaign_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "amount": {
          "nulls": 0,
          "distinct": 820,
          "min": 5.02,
          "max": 4973.43
        },
        "donation_date": {
          "nulls": 0,
          "distinct": 822,
          "min": "2020-01-01 17:06:00",
          "max": "2023-12-31 20:02:29"
        },
        "donation_method": {
          "nulls": 0,
          "distinct": 3,
          "min": "bank_transfer",
          "max": "paypal"
        },
        "donation_status": {
          "nulls": 0,
          "distinct": 3,
          "min": "completed",
          "max": "refunded"
        }
      }
    },
    "beneficiaries": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 0,
          "distinct": 100,
          "min": "Amir Clark",
          "max": "Zoe Dubois"
        },
        "description": {
          "nulls": 0,
          "distinct": 100
        },
        "campaign_id": {
          "nulls": 9,
          "distinct": 43,
          "min": 1,
          "max": 50
        },
        "beneficiary_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "community_group",
          "max": "organization"
        },
        "total_aid_received": {
          "nulls": 0,
          "distinct": 100,
          "min": 1.51,
          "max": 480011.3
        }
      }
    },
    "campaigns": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 0,
          "distinct": 49,
          "min": "Classic Jacket",
          "max": "Wireless Tripod"
        },
        "goal_amount": {
          "nulls": 0,
          "distinct": 50,
          "min": 1163.33,
          "max": 99701.33
        },
        "start_date": {
          "nulls": 0,
          "distinct": 50,
          "min": "2020-03-05 15:47:02",
          "max": "2023-11-23 14:50:09"
        },
        "end_date": {
          "nulls": 0,
          "distinct": 50,
          "min": "2020-01-09 12:58:12",
          "max": "2023-12-28 10:42:08"
        }
      }
    },
    "progress_reports": {
      "rows": 115,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 115,
          "min": 1,
          "max": 115
        },
        "campaign_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "milestone": {
          "nulls": 0,
          "distinct": 115
        },
        "report_date": {
          "nulls": 0,
          "distinct": 115,
          "min": "2020-01-03 13:07:25",
          "max": "2023-12-03 11:56:28"
        },
        "donations_received": {
          "nulls": 0,
          "distinct": 115,
          "min": 132956.11,
          "max": 849404.47
        },
        "report_status": {
          "nulls": 0,
          "distinct": 3,
          "min": "behind_schedule",
          "max": "on_track"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/campaigns.csv",
      "format": "csv",
      "table": "campaigns",
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/csv/campaigns.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/csv/campaigns.csv",
      "bytes": 3434,
      "sha256": "6f148bce460a644a9e4c4a15123191751c0891206722a698f7931ec141b6c6ab",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/beneficiaries.csv",
      "format": "csv",
      "table": "beneficiaries",
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/csv/beneficiaries.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/csv/beneficiaries.csv",
      "bytes": 9753,
      "sha256": "9e405d22291533a3dc0d3af2afc766e2423ce11c10f1f44755233e18878acb6f",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/donors.csv",
      "format": "csv",
      "table": "donors",
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/csv/donors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/csv/donors.csv",
      "bytes": 13698,
      "sha256": "a2fa1596ba6377ffa8e114ab1e489e387bcab14b254fe96d5200d78cd470618b",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/donations.csv",
      "format": "csv",
      "table": "donations",
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/csv/donations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/csv/donations.csv",
      "bytes": 48576,
      "sha256": "7ffabceeec4d7c60da456f51a9f84f80b46445a95de578882bdb326df742c8c0",
      "rows": 822,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/progress_reports.csv",
      "format": "csv",
      "table": "progress_reports",
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/csv/progress_reports.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/csv/progress_reports.csv",
      "bytes": 12140,
      "sha256": "27e734404b14f1e2927d5ffbe22d88c46b60ea9f67a47c61ba4390af03ce119f",
      "rows": 115,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "blockchain-based-charity-donation-tracker.json",
      "format": "json",
      "table": null,
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/blockchain-based-charity-donation-tracker.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/blockchain-based-charity-donation-tracker.json",
      "bytes": 279629,
      "sha256": "c513e39ef81d2e543e8d2bf72c845387c1989016baa0e6daf4baeff40efa4975",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/sql/postgres.sql",
      "bytes": 113923,
      "sha256": "ab533a8e1bb6469baafbab3bdb80e00a61735a1a5f8a9b3cd992970fcaee9ce1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/sql/mysql.sql",
      "bytes": 113345,
      "sha256": "f4ffbe9724e18de51a49abdacb0e3978ff077abf1b23f386b882a1a2a70f4b39",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/sql/mssql.sql",
      "bytes": 117769,
      "sha256": "b8e317a071292bb26265daadb74fe1551861f01498bd7a18bfbbf25eca873537",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/sql/sqlite.sql",
      "bytes": 113087,
      "sha256": "19baf2df1f899deb2ab1b01c5282cd303ea181245c2ed0cbbe3e4f7fc6c5b7c2",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/prisma/seed.ts",
      "bytes": 235359,
      "sha256": "9e64745dab3b4401c3f954eb5507b99888faf2c0434cfbd6d7dc1e81674a4da8",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/blockchain-based-charity-donation-tracker/v4/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/blockchain-based-charity-donation-tracker/v4/django/fixtures.json",
      "bytes": 335781,
      "sha256": "3aecd6c16e5391a3c8af051c7d217c1229e34c583345b6fde39f3fe5e6071bb6",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788733849212,
  "updatedAt": 1789095664105
}
