{
  "format": "dataset-manifest/1",
  "slug": "voice-controlled-smart-kitchen-management",
  "version": 3,
  "seed": "voice-controlled-smart-kitchen-management:1",
  "engine": 1,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "slug": "voice-controlled-smart-kitchen-management",
    "name": "Smart Kitchen Insights",
    "tagline": "Recipes, ingredients, cooking history, and customer feedback from restaurant kitchen operations.",
    "description": "Chefs meticulously prepare meals, ensuring every dish meets customer expectations while efficiently managing the kitchen. In this bustling restaurant environment, voice-commanded appliances assist in streamlining cooking processes, and maintaining an inventory of ingredients is vital for timely meal preparation. Recipes are crafted and refined based on customer feedback, which helps the establishment adapt its offerings to meet diner preferences. Each kitchen zone is designed for specific cooking tasks, enhancing workflow and productivity within the culinary space.\n\nThe dataset features several interconnected tables: recipes detail the dishes being prepared, while ingredients list the components needed for each recipe. Inventory tracks the availability of these ingredients, ensuring that the kitchen remains stocked for meal preparation. Cooking_history records past cooking events, providing insights into how often certain dishes are made and the ingredients used. Kitchen_zones categorize different areas of the kitchen by their specific functions, and customer_feedback captures diners' opinions on the meals served. Each table complements the others; for instance, a single row in the recipes table can be linked to multiple rows in the ingredients table, reflecting the various components of a dish, while feedback can be related back to specific recipes and their cooking history.\n\nThis dataset is excellent for answering a variety of questions related to kitchen efficiency, popular ingredients, and customer satisfaction. Developers can practice analyzing trends in ingredient usage, understanding the impact of customer feedback on recipe development, and optimizing inventory management based on historical cooking patterns. The data is synthetic, designed to provide a realistic yet manageable environment for users to hone their data analysis skills.",
    "domain": "restaurants",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "kitchen management",
      "restaurant operations",
      "voice control",
      "recipes",
      "inventory",
      "customer feedback"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "recipes": {
        "description": "Each row represents a recipe with its unique ID, name, and associated ingredients. This table links to the ingredients table through ingredient IDs.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each recipe."
          },
          "name": {
            "kind": "title",
            "description": "Name of the recipe.",
            "pool": [
              "Pasta",
              "Salad",
              "Soup",
              "Curry",
              "Stew",
              "Tacos",
              "Pizza",
              "Risotto",
              "Sushi",
              "Burrito",
              "Quiche",
              "Casserole",
              "Stir-fry",
              "Wrap",
              "Frittata",
              "Bowl",
              "Gratin",
              "Pudding",
              "Scones",
              "Brownies"
            ],
            "min": 1,
            "max": 3
          },
          "cuisine": {
            "kind": "enum",
            "values": [
              "Italian",
              "Mexican",
              "Chinese",
              "Indian",
              "American"
            ],
            "description": "Type of cuisine the recipe belongs to.",
            "weights": [
              5,
              3,
              2,
              1,
              1
            ]
          },
          "preparation_time": {
            "kind": "int",
            "min": 5,
            "max": 180,
            "description": "Time in minutes required to prepare the recipe.",
            "nullable": true,
            "when": {
              "column": "cuisine",
              "in": [
                "Italian",
                "Mexican"
              ]
            },
            "distribution": "normal"
          }
        }
      },
      "ingredients": {
        "description": "This table contains ingredients used in recipes, detailing nutritional information and availability. It links to recipes through an ingredient ID.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each ingredient."
          },
          "name": {
            "kind": "title",
            "description": "Name of the ingredient.",
            "pool": [
              "Tomato",
              "Onion",
              "Garlic",
              "Pepper",
              "Basil",
              "Chicken",
              "Beef",
              "Pork",
              "Fish",
              "Rice",
              "Lentils",
              "Cheese",
              "Egg",
              "Carrot",
              "Potato",
              "Spinach",
              "Zucchini",
              "Mushroom",
              "Olive",
              "Cucumber",
              "Lemon"
            ],
            "min": 1,
            "max": 3
          },
          "calories": {
            "kind": "int",
            "min": 1,
            "max": 1000,
            "description": "Caloric content of the ingredient per 100g.",
            "nullable": true,
            "when": {
              "column": "availability",
              "in": [
                "limited",
                "out of stock"
              ]
            },
            "distribution": "normal"
          },
          "availability": {
            "kind": "enum",
            "values": [
              "available",
              "limited",
              "out of stock"
            ],
            "description": "Current availability status of the ingredient.",
            "weights": [
              7,
              2,
              1
            ]
          }
        }
      },
      "inventory": {
        "description": "The inventory table tracks stock levels for each ingredient, providing insights into usage patterns over time.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each inventory entry."
          },
          "ingredient_id": {
            "kind": "fk",
            "ref": "ingredients.id",
            "description": "Foreign key linking to the ingredient."
          },
          "quantity": {
            "kind": "int",
            "min": 0,
            "max": 500,
            "description": "Current quantity of the ingredient in stock.",
            "distribution": "long-tail"
          },
          "last_updated": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Timestamp of the last update to the inventory.",
            "dayProfile": "business"
          },
          "supplier": {
            "kind": "enum",
            "values": [
              "Supplier A",
              "Supplier B",
              "Supplier C"
            ],
            "weights": [
              50,
              30,
              20
            ],
            "description": "The supplier of the ingredient."
          },
          "restock_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date when the ingredient is expected to be restocked."
          }
        }
      },
      "cooking_history": {
        "description": "This table logs the history of meals prepared, linking recipes to cooking events and tracking appliance usage.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each cooking event."
          },
          "recipe_id": {
            "kind": "fk",
            "ref": "recipes.id",
            "description": "Foreign key linking to the recipe prepared."
          },
          "cooked_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Timestamp when the cooking event occurred.",
            "dayProfile": "waking",
            "trend": "seasonal"
          },
          "zone_id": {
            "kind": "fk",
            "ref": "kitchen_zones.id",
            "description": "Foreign key linking to the kitchen zone where cooking took place."
          },
          "cooking_duration_minutes": {
            "kind": "int",
            "min": 5,
            "max": 180,
            "distribution": "normal",
            "description": "Duration in minutes for cooking the recipe."
          }
        }
      },
      "kitchen_zones": {
        "description": "This table categorizes different kitchen zones for specific cooking tasks, enhancing operational efficiency.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each kitchen zone."
          },
          "name": {
            "kind": "title",
            "description": "Name of the kitchen zone.",
            "pool": [
              "Prep",
              "Grill",
              "Bake",
              "Fry",
              "Boil",
              "Chill",
              "Serve",
              "Mix",
              "Chop",
              "Slice",
              "Blend",
              "Roast",
              "Steam",
              "Sauté",
              "Garnish",
              "Plate",
              "Wash",
              "Store",
              "Measure",
              "Arrange",
              "Cook"
            ],
            "min": 1,
            "max": 3
          },
          "specialization": {
            "kind": "words",
            "description": "Specific cooking tasks or types of cuisine the zone specializes in.",
            "pool": [
              "grilling",
              "baking",
              "sautéing",
              "roasting",
              "frying",
              "steaming",
              "sousvide",
              "mixing",
              "chopping",
              "slicing",
              "seasoning",
              "plating",
              "cooking",
              "prepping",
              "fermenting",
              "curing",
              "smoking",
              "blending",
              "boiling",
              "toasting",
              "broiling",
              "canning",
              "pickling",
              "braising",
              "stirfrying",
              "gratinating",
              "infusing",
              "whipping",
              "pureeing",
              "caramelizing",
              "garnishing"
            ],
            "min": 1,
            "max": 3
          },
          "equipment_available": {
            "kind": "enum",
            "values": [
              "blender",
              "grill",
              "fryer"
            ],
            "weights": [
              40,
              40,
              20
            ],
            "description": "The equipment available in the kitchen zone."
          }
        }
      },
      "customer_feedback": {
        "description": "Aggregates customer feedback on recipes, allowing for recipe adjustments based on preferences.",
        "rows": 250,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each feedback entry."
          },
          "recipe_id": {
            "kind": "fk",
            "ref": "recipes.id",
            "description": "Foreign key linking to the recipe being reviewed."
          },
          "feedback": {
            "kind": "sentence",
            "description": "Customer feedback text on the recipe."
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "Customer rating of the recipe, from 1 to 5 stars.",
            "distribution": "high"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "nullable",
      "timestamped"
    ],
    "analysisQuestions": [
      "What are the most popular recipes based on customer feedback?",
      "How does ingredient availability affect recipe preparation?",
      "Which kitchen zone is used most frequently for specific recipes?",
      "What trends can be identified in cooking history over the year?",
      "How do preparation times vary across different cuisines?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Recipes and Customer Feedback",
        "sql": "SELECT r.name, c.feedback FROM recipes r JOIN customer_feedback c ON r.id = c.recipe_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Recipes by Cuisine",
        "sql": "SELECT cuisine, COUNT(*) FROM recipes GROUP BY cuisine;",
        "dialect": "postgres"
      },
      {
        "title": "Average Rating by Recipe",
        "sql": "SELECT r.name, AVG(c.rating) as average_rating FROM recipes r JOIN customer_feedback c ON r.id = c.recipe_id GROUP BY r.name;",
        "dialect": "postgres"
      },
      {
        "title": "Inventory Usage Over Time",
        "sql": "SELECT i.name, SUM(c.quantity) as total_used FROM inventory i JOIN cooking_history c ON i.ingredient_id = c.recipe_id GROUP BY i.name;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Culinary Instruction",
        "body": "Culinary schools can utilize the Smart Kitchen Insights dataset to teach students about the relationship between ingredient management, recipe development, and customer feedback. By analyzing the data, students can understand how to create appealing menus while maintaining efficient inventory."
      },
      {
        "title": "Operational Optimization",
        "body": "Restaurant managers can use this dataset to identify trends in cooking history and customer preferences. By doing so, they can streamline operations, optimize kitchen zones for specific tasks, and ensure that popular ingredients are always in stock."
      },
      {
        "title": "Menu Development",
        "body": "Chefs can analyze customer feedback on recipes to refine their offerings. By understanding which dishes receive high ratings and what feedback is provided, chefs can make informed decisions on menu changes and new recipes."
      },
      {
        "title": "ETL Process Training",
        "body": "Data engineers can practice ETL processes on this dataset, transforming and loading data from the raw format into a structured database. This experience is crucial for developing skills in data manipulation and pipeline creation."
      }
    ]
  },
  "counts": {
    "ingredients": 150,
    "inventory": 200,
    "kitchen_zones": 50,
    "recipes": 100,
    "cooking_history": 300,
    "customer_feedback": 250
  },
  "stats": {
    "recipes": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 0,
          "distinct": 83
        },
        "cuisine": {
          "nulls": 0,
          "distinct": 5,
          "min": "American",
          "max": "Mexican"
        },
        "preparation_time": {
          "nulls": 39,
          "distinct": 49,
          "min": 42,
          "max": 156
        }
      }
    },
    "ingredients": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "name": {
          "nulls": 0,
          "distinct": 112
        },
        "calories": {
          "nulls": 111,
          "distinct": 37,
          "min": 253,
          "max": 857
        },
        "availability": {
          "nulls": 0,
          "distinct": 3,
          "min": "available",
          "max": "out of stock"
        }
      }
    },
    "inventory": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "ingredient_id": {
          "nulls": 0,
          "distinct": 109,
          "min": 1,
          "max": 149
        },
        "quantity": {
          "nulls": 0,
          "distinct": 156,
          "min": 0,
          "max": 478
        },
        "last_updated": {
          "nulls": 0,
          "distinct": 200,
          "min": "2023-01-01 09:36:17",
          "max": "2023-12-31 17:57:36"
        },
        "supplier": {
          "nulls": 0,
          "distinct": 3,
          "min": "Supplier A",
          "max": "Supplier C"
        },
        "restock_date": {
          "nulls": 0,
          "distinct": 151,
          "min": "2023-01-04",
          "max": "2023-12-31"
        }
      }
    },
    "cooking_history": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "recipe_id": {
          "nulls": 0,
          "distinct": 97,
          "min": 1,
          "max": 100
        },
        "cooked_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2023-01-01 18:27:38",
          "max": "2023-12-31 19:19:18"
        },
        "zone_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "cooking_duration_minutes": {
          "nulls": 0,
          "distinct": 94,
          "min": 36,
          "max": 164
        }
      }
    },
    "kitchen_zones": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 0,
          "distinct": 46
        },
        "specialization": {
          "nulls": 0,
          "distinct": 47
        },
        "equipment_available": {
          "nulls": 0,
          "distinct": 3,
          "min": "blender",
          "max": "grill"
        }
      }
    },
    "customer_feedback": {
      "rows": 250,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 250,
          "min": 1,
          "max": 250
        },
        "recipe_id": {
          "nulls": 0,
          "distinct": 97,
          "min": 1,
          "max": 100
        },
        "feedback": {
          "nulls": 0,
          "distinct": 250
        },
        "rating": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/ingredients.csv",
      "format": "csv",
      "table": "ingredients",
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/csv/ingredients.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/csv/ingredients.csv",
      "bytes": 4440,
      "sha256": "70890ea143e89911038b40348e907d36e8d4eb4ff7fc22583ca4e667443c6c69",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/inventory.csv",
      "format": "csv",
      "table": "inventory",
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/csv/inventory.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/csv/inventory.csv",
      "bytes": 10698,
      "sha256": "ecfb37d919f92d8593fa086c955c31bb6bd77357e4e9bce89927361443763358",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/kitchen_zones.csv",
      "format": "csv",
      "table": "kitchen_zones",
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/csv/kitchen_zones.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/csv/kitchen_zones.csv",
      "bytes": 2127,
      "sha256": "ae1787f6212393e8b745e3e3e864750beb8df5643b82ddb18222219ef7ba7001",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/recipes.csv",
      "format": "csv",
      "table": "recipes",
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/csv/recipes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/csv/recipes.csv",
      "bytes": 2904,
      "sha256": "a0f77a7c3b94ee7331383c7b0bfd493d1b3031c96e5f4494ea16163e1ee7a90a",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/cooking_history.csv",
      "format": "csv",
      "table": "cooking_history",
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/csv/cooking_history.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/csv/cooking_history.csv",
      "bytes": 10206,
      "sha256": "5f1df6ea5bbc92c96845dc88d426fef7d133354d9b36f083dd7c0e2426c0b3b1",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/customer_feedback.csv",
      "format": "csv",
      "table": "customer_feedback",
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/csv/customer_feedback.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/csv/customer_feedback.csv",
      "bytes": 16777,
      "sha256": "bd04191426e5b431ebde5ed1636b1ab37d82a74539f40ce9ec46acf4a91bfce0",
      "rows": 250,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "voice-controlled-smart-kitchen-management.json",
      "format": "json",
      "table": null,
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/voice-controlled-smart-kitchen-management.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/voice-controlled-smart-kitchen-management.json",
      "bytes": 157881,
      "sha256": "bdf4f93e545fd39cdcb9f686fe7c38d7b4c668e0755ee9ebd018d20438e1e143",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/sql/postgres.sql",
      "bytes": 64676,
      "sha256": "f6e48731774bfa1d1f50c4f9583add9904c1c13fd88d61d0d5fc9d819f9974aa",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/sql/mysql.sql",
      "bytes": 63951,
      "sha256": "160ea7b5cf421bb04ec8551b544bcb5cfd700123f7a7fd2590042fac82f05213",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/sql/mssql.sql",
      "bytes": 66184,
      "sha256": "8594f81dcfbef0606541ed1d140f6762313d2e7136b26434a881fb3af6134366",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/sql/sqlite.sql",
      "bytes": 63712,
      "sha256": "f0f86e9741cd004170eb1349072f7a9c9cc80cb3b9fe28c7aa0c1d3b40c515f4",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/prisma/seed.ts",
      "bytes": 129386,
      "sha256": "c4e22a77a007dc83eb6dfac5aa4917a1dc1849e68e2a3fc3401681d34be415a2",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/voice-controlled-smart-kitchen-management/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-smart-kitchen-management/v3/django/fixtures.json",
      "bytes": 206587,
      "sha256": "dbaa449a5a2ead58f7fd979152860f7cb76cdacac30e163628b2db85f99613af",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767163280,
  "updatedAt": 1789096133879
}
