{
  "format": "dataset-manifest/1",
  "slug": "wanderlust-connections",
  "version": 3,
  "seed": "wanderlust-connections:1",
  "engine": 1,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "slug": "wanderlust-connections",
    "name": "Wanderlust Connections",
    "tagline": "Connect with fellow travelers and share unforgettable adventures.",
    "description": "Wanderlust Connections is a synthetic dataset designed for a travel buddy finder app, where users can connect with fellow travelers based on shared interests and activities. The dataset models user profiles, their travel trips, activities they prefer, languages they speak, and reviews of their connections. Each table is interrelated to provide insights into user preferences and experiences. By analyzing this data, developers can explore questions such as how user preferences influence connections, what activities are most popular among travelers, and how language spoken affects the likelihood of forming friendships. The dataset serves as a practical tool for SQL practice and ORM seeding, allowing for the simulation of real-world applications in travel-related platforms.",
    "domain": "travel",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "travel",
      "friends",
      "adventures",
      "user preferences",
      "activities",
      "languages",
      "reviews",
      "connections"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table contains user profiles with details about their preferences for travel companionship.",
        "rows": 200,
        "columns": {
          "user_id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user.",
            "nullable": true
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "User's email address.",
            "nullable": true
          },
          "age": {
            "kind": "int",
            "min": 18,
            "max": 70,
            "description": "Age of the user.",
            "nullable": true
          },
          "languages_spoken": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Languages the user can communicate in.",
            "nullable": true,
            "pool": [
              "english",
              "spanish",
              "french",
              "german",
              "italian",
              "portuguese",
              "chinese",
              "japanese",
              "korean",
              "russian",
              "arabic",
              "hindi",
              "dutch",
              "swedish",
              "norwegian",
              "turkish",
              "thai",
              "vietnamese",
              "greek",
              "hebrew",
              "indonesian",
              "swahili",
              "filipino",
              "malay",
              "czech",
              "hungarian",
              "romanian",
              "bulgarian",
              "slovak",
              "ukrainian",
              "croatian",
              "serbian",
              "slovenian",
              "estonian",
              "latvian",
              "lithuanian",
              "finnish",
              "icelandic",
              "welsh",
              "irish",
              "scottish",
              "basque",
              "galician",
              "catalan",
              "armenian",
              "persian",
              "bengali",
              "telugu",
              "tamil",
              "marathi",
              "punjabi",
              "urdu"
            ]
          }
        }
      },
      "user_trips": {
        "description": "This table captures trips taken by users, linking them to their profiles.",
        "rows": 300,
        "columns": {
          "trip_id": {
            "kind": "pk",
            "description": "Unique identifier for each trip."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "Foreign key linking to the user who took the trip."
          },
          "destination": {
            "kind": "words",
            "description": "The destination of the trip.",
            "nullable": true,
            "pool": [
              "paris",
              "tokyo",
              "newyork",
              "london",
              "barcelona",
              "rome",
              "berlin",
              "sydney",
              "dubai",
              "bangkok",
              "singapore",
              "mumbai",
              "losangeles",
              "amsterdam",
              "prague",
              "cancun",
              "rio",
              "moscow",
              "seoul",
              "beijing",
              "istanbul",
              "budapest",
              "athens",
              "lisbon",
              "stockholm",
              "oslo",
              "copenhagen",
              "dublin",
              "vancouver",
              "montreal",
              "toronto",
              "cape_town",
              "auckland",
              "santiago",
              "hanoi",
              "jakarta",
              "manila",
              "kuala_lumpur",
              "nairobi",
              "accra",
              "lagos",
              "johannesburg",
              "addis_ababa",
              "tunis",
              "casablanca",
              "algiers",
              "doha",
              "abu_dhabi",
              "baku",
              "tbilisi",
              "yerevan",
              "ashgabat"
            ],
            "min": 1,
            "max": 3
          },
          "trip_start_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Start date of the trip."
          },
          "trip_end_date": {
            "kind": "date",
            "after": "trip_start_date",
            "withinDays": 30,
            "description": "End date of the trip."
          }
        }
      },
      "user_activities": {
        "description": "This table records the activities users are interested in during their travels.",
        "rows": 500,
        "columns": {
          "activity_id": {
            "kind": "pk",
            "description": "Unique identifier for each activity."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "Foreign key linking to the user interested in the activity."
          },
          "activity_type": {
            "kind": "enum",
            "values": [
              "hiking",
              "cultural",
              "food",
              "adventure",
              "relaxation"
            ],
            "description": "Type of activity the user prefers.",
            "weights": [
              5,
              3,
              4,
              2,
              1
            ]
          },
          "frequency": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "Frequency of interest in the activity.",
            "nullable": true,
            "when": {
              "column": "activity_type",
              "in": [
                "hiking",
                "cultural",
                "food",
                "adventure",
                "relaxation"
              ]
            }
          },
          "activity_duration_hours": {
            "kind": "int",
            "min": 1,
            "max": 8,
            "distribution": "normal",
            "description": "Duration of the activity in hours."
          }
        }
      },
      "user_connections": {
        "description": "This table tracks connections formed between users based on shared trips or activities.",
        "rows": 250,
        "columns": {
          "connection_id": {
            "kind": "pk",
            "description": "Unique identifier for each connection."
          },
          "user_id_one": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "First user in the connection."
          },
          "user_id_two": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "Second user in the connection."
          },
          "connection_date": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the connection was made.",
            "dayProfile": "waking"
          },
          "connection_strength": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "distribution": "normal",
            "description": "Strength of the connection on a scale of 1 to 10."
          },
          "connection_reason": {
            "kind": "words",
            "pool": [
              "shared_trip",
              "common_interests",
              "mutual_friends",
              "similar_preferences",
              "networking_opportunity",
              "travel_experience",
              "adventure_seekers",
              "food_lovers",
              "cultural_exchange",
              "activity_partners",
              "hiking_buddies",
              "relaxation_friends"
            ],
            "description": "Reason for the connection between users."
          },
          "connection_duration_days": {
            "kind": "int",
            "min": 1,
            "max": 730,
            "distribution": "normal",
            "description": "Duration of the connection in days."
          },
          "last_interaction_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date of the last interaction between the two users."
          }
        }
      },
      "user_reviews": {
        "description": "This table captures reviews left by users about their experiences with connections.",
        "rows": 400,
        "columns": {
          "review_id": {
            "kind": "pk",
            "description": "Unique identifier for each review."
          },
          "connection_id": {
            "kind": "fk",
            "ref": "user_connections.connection_id",
            "description": "Foreign key linking to the connection being reviewed."
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "Rating given to the connection.",
            "nullable": true,
            "distribution": "high"
          },
          "comments": {
            "kind": "sentence",
            "min": 1,
            "max": 250,
            "description": "User's comments about their experience.",
            "nullable": true
          },
          "review_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the review was submitted."
          },
          "helpfulness_score": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "distribution": "high",
            "description": "Score indicating how helpful the review was to other users."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "nullable",
      "timestamped"
    ],
    "analysisQuestions": [
      "What types of activities are most popular among travelers?",
      "How do language skills influence user connections?",
      "What destinations have the highest number of user trips?",
      "What is the average rating of user connections?",
      "Are there specific age groups that prefer certain activities?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users with Their Trips",
        "sql": "SELECT users.full_name, user_trips.destination FROM users JOIN user_trips ON users.user_id = user_trips.user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Activities by Type",
        "sql": "SELECT activity_type, COUNT(*) FROM user_activities GROUP BY activity_type;",
        "dialect": "postgres"
      },
      {
        "title": "Average Rating of Connections",
        "sql": "SELECT AVG(rating) FROM user_reviews;",
        "dialect": "postgres"
      },
      {
        "title": "Find Users with Common Activities",
        "sql": "SELECT a.user_id_one, a.user_id_two FROM user_connections a JOIN user_activities b ON a.user_id_one = b.user_id OR a.user_id_two = b.user_id GROUP BY a.user_id_one, a.user_id_two;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Developing a Travel App",
        "body": "Developers looking to create a travel buddy app can utilize this dataset to simulate user interactions and preferences. By seeding their database with this synthetic data, they can test user matches based on activities and language skills, enhancing the app's functionality."
      },
      {
        "title": "Conducting User Research",
        "body": "Researchers can leverage this dataset to analyze user preferences in travel activities and their impact on forming connections. This analysis can provide insights into improving user experience and engagement in travel platforms."
      },
      {
        "title": "Training Machine Learning Models",
        "body": "Data scientists can use this dataset for training machine learning models aimed at predicting user connections based on shared interests and demographics. The variety in the dataset allows for robust model testing and validation."
      }
    ]
  },
  "counts": {
    "users": 200,
    "user_activities": 500,
    "user_connections": 250,
    "user_reviews": 400,
    "user_trips": 300
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "user_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 27,
          "distinct": 172,
          "min": "Alice Dubois",
          "max": "Zoe Kumar"
        },
        "email": {
          "nulls": 50,
          "distinct": 150
        },
        "age": {
          "nulls": 28,
          "distinct": 52,
          "min": 18,
          "max": 70
        },
        "languages_spoken": {
          "nulls": 16,
          "distinct": 167
        }
      }
    },
    "user_trips": {
      "rows": 300,
      "columns": {
        "trip_id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "user_id": {
          "nulls": 0,
          "distinct": 164,
          "min": 1,
          "max": 200
        },
        "destination": {
          "nulls": 24,
          "distinct": 215
        },
        "trip_start_date": {
          "nulls": 0,
          "distinct": 247,
          "min": "2022-01-04",
          "max": "2023-12-28"
        },
        "trip_end_date": {
          "nulls": 0,
          "distinct": 247,
          "min": "2022-01-13",
          "max": "2024-01-15"
        }
      }
    },
    "user_activities": {
      "rows": 500,
      "columns": {
        "activity_id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "user_id": {
          "nulls": 0,
          "distinct": 186,
          "min": 1,
          "max": 200
        },
        "activity_type": {
          "nulls": 0,
          "distinct": 5,
          "min": "adventure",
          "max": "relaxation"
        },
        "frequency": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "activity_duration_hours": {
          "nulls": 0,
          "distinct": 6,
          "min": 2,
          "max": 7
        }
      }
    },
    "user_connections": {
      "rows": 250,
      "columns": {
        "connection_id": {
          "nulls": 0,
          "distinct": 250,
          "min": 1,
          "max": 250
        },
        "user_id_one": {
          "nulls": 0,
          "distinct": 147,
          "min": 1,
          "max": 200
        },
        "user_id_two": {
          "nulls": 0,
          "distinct": 138,
          "min": 1,
          "max": 199
        },
        "connection_date": {
          "nulls": 0,
          "distinct": 250,
          "min": "2022-01-03 09:54:15",
          "max": "2023-12-30 14:47:00"
        },
        "connection_strength": {
          "nulls": 0,
          "distinct": 8,
          "min": 2,
          "max": 9
        },
        "connection_reason": {
          "nulls": 0,
          "distinct": 234
        },
        "connection_duration_days": {
          "nulls": 0,
          "distinct": 179,
          "min": 110,
          "max": 677
        },
        "last_interaction_date": {
          "nulls": 0,
          "distinct": 220,
          "min": "2022-01-05",
          "max": "2023-12-18"
        }
      }
    },
    "user_reviews": {
      "rows": 400,
      "columns": {
        "review_id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "connection_id": {
          "nulls": 0,
          "distinct": 207,
          "min": 1,
          "max": 250
        },
        "rating": {
          "nulls": 41,
          "distinct": 5,
          "min": 1,
          "max": 5
        },
        "comments": {
          "nulls": 46,
          "distinct": 353
        },
        "review_date": {
          "nulls": 0,
          "distinct": 304,
          "min": "2022-01-01",
          "max": "2023-12-28"
        },
        "helpfulness_score": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/wanderlust-connections/v3/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/csv/users.csv",
      "bytes": 10390,
      "sha256": "bbf433208ae90bf65e876935f2f33b622edb40ab6d48bd5ab275f1e794f44089",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_activities.csv",
      "format": "csv",
      "table": "user_activities",
      "key": "datasets/wanderlust-connections/v3/csv/user_activities.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/csv/user_activities.csv",
      "bytes": 9966,
      "sha256": "c626511881d2eb221fd66663779464d85cb0c2ee6b65ee1b34cb1350d3f2dd1b",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_connections.csv",
      "format": "csv",
      "table": "user_connections",
      "key": "datasets/wanderlust-connections/v3/csv/user_connections.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/csv/user_connections.csv",
      "bytes": 25366,
      "sha256": "e64f9d028f5d5b77fcc86a017a8cbb5d9a1876471c100f3a58713b7a0282665e",
      "rows": 250,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_reviews.csv",
      "format": "csv",
      "table": "user_reviews",
      "key": "datasets/wanderlust-connections/v3/csv/user_reviews.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/csv/user_reviews.csv",
      "bytes": 29361,
      "sha256": "62e51b682baaca13da9b6d5cbfea346e5d4ea929aa65b0b1e7c2768aecda06f2",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_trips.csv",
      "format": "csv",
      "table": "user_trips",
      "key": "datasets/wanderlust-connections/v3/csv/user_trips.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/csv/user_trips.csv",
      "bytes": 13377,
      "sha256": "7b9adf746195d13ac8c286168bd6ae4153132f3967275bd3ff9ca9123626e905",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "wanderlust-connections.json",
      "format": "json",
      "table": null,
      "key": "datasets/wanderlust-connections/v3/wanderlust-connections.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/wanderlust-connections.json",
      "bytes": 331048,
      "sha256": "3e58465a5f1eb32ddce803819dc224a84bc7b6cd98bf739d798379ad37c4be75",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/wanderlust-connections/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/sql/postgres.sql",
      "bytes": 117514,
      "sha256": "c857344404320fa83cbb2a7145ebbd1a2498141ce878a0c9d8d135faf0a5f23f",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/wanderlust-connections/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/sql/mysql.sql",
      "bytes": 116824,
      "sha256": "dbfc44d83d977c49486133d07acc1d068937b7954d9136112ed6802df77de3df",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/wanderlust-connections/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/sql/mssql.sql",
      "bytes": 120568,
      "sha256": "669b641c9cc97bade91bb3bb9fc21ef5c98057b006cc49de46e3b8f80c0db5b3",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/wanderlust-connections/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/sql/sqlite.sql",
      "bytes": 116579,
      "sha256": "f87a6f202626fb85b1054d8d9486ad9fc5e1273cabcfdb223d7b7ab1d79664b4",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/wanderlust-connections/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/prisma/seed.ts",
      "bytes": 266124,
      "sha256": "0705533f756eef00d18975226dfad7ad20277f3b74b580ed162067b395ea255a",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/wanderlust-connections/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/wanderlust-connections/v3/django/fixtures.json",
      "bytes": 392780,
      "sha256": "90fb02d5c2f55529a669daf9974485594a255d99884c7f1c28ea5aed3fb83bbf",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766088906,
  "updatedAt": 1789096125599
}
