{
  "format": "dataset-manifest/1",
  "slug": "e-learning-platform",
  "version": 1,
  "seed": "e-learning-platform:1",
  "spec": {
    "format": "dataset/1",
    "slug": "e-learning-platform",
    "name": "Online Learning Engagement",
    "tagline": "Modeling student interactions in an e-learning environment.",
    "description": "Students enroll in various courses designed by expert instructors, engaging in assignments and discussions that enhance their understanding of the material. This dataset captures user interactions, including course enrollments, assignment submissions, and participation in discussions, alongside instructors' contributions. The tables reflect the relationships between students, courses, assignments, discussions, and instructors, allowing for a deep analysis of engagement patterns. Questions such as which courses are the most popular, how assignment submissions correlate with discussion participation, and the impact of instructor feedback on student performance can all be explored. This synthetic dataset provides a realistic simulation of an e-learning platform, ideal for SQL practice and ORM seeding.",
    "domain": "education",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "e-learning",
      "student engagement",
      "course enrollment",
      "assignments",
      "discussions",
      "instructors"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "students": {
        "description": "Each row represents a student enrolled in the e-learning platform, linking to their course enrollments and interactions.",
        "rows": 200,
        "columns": {
          "student_id": {
            "kind": "pk",
            "description": "Unique identifier for each student."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the student.",
            "nullable": true
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address for communication.",
            "nullable": true
          },
          "enrollment_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Date when the student enrolled in the platform."
          }
        }
      },
      "courses": {
        "description": "This table captures the details of each course offered on the platform, including the instructor and category.",
        "rows": 50,
        "columns": {
          "course_id": {
            "kind": "pk",
            "description": "Unique identifier for each course."
          },
          "title": {
            "kind": "words",
            "min": 3,
            "max": 10,
            "description": "Title of the course.",
            "nullable": true
          },
          "category": {
            "kind": "enum",
            "values": [
              "Science",
              "Arts",
              "Technology",
              "Business",
              "Health"
            ],
            "description": "Category under which the course falls."
          },
          "instructor_id": {
            "kind": "fk",
            "ref": "instructors.instructor_id",
            "description": "Foreign key linking to the instructor of the course.",
            "nullable": true,
            "when": {
              "column": "category",
              "in": [
                "Science",
                "Arts",
                "Technology",
                "Business",
                "Health"
              ]
            }
          }
        }
      },
      "instructors": {
        "description": "Instructors who design and facilitate courses, with their respective expertise areas.",
        "rows": 20,
        "columns": {
          "instructor_id": {
            "kind": "pk",
            "description": "Unique identifier for each instructor."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the instructor.",
            "nullable": true
          },
          "expertise": {
            "kind": "words",
            "min": 3,
            "max": 10,
            "description": "Area of expertise for the instructor.",
            "nullable": true
          }
        }
      },
      "assignments": {
        "description": "Assignments given to students within courses, including submission status.",
        "rows": 300,
        "columns": {
          "assignment_id": {
            "kind": "pk",
            "description": "Unique identifier for each assignment."
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.course_id",
            "description": "Foreign key linking to the course."
          },
          "title": {
            "kind": "words",
            "min": 3,
            "max": 10,
            "description": "Title of the assignment.",
            "nullable": true
          },
          "due_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Due date for assignment submission."
          },
          "submitted": {
            "kind": "bool",
            "trueRate": 0.75,
            "description": "Indicates whether the assignment has been submitted."
          }
        }
      },
      "discussions": {
        "description": "Discussion threads initiated by students and instructors to facilitate learning.",
        "rows": 150,
        "columns": {
          "discussion_id": {
            "kind": "pk",
            "description": "Unique identifier for each discussion."
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.course_id",
            "description": "Foreign key linking to the course."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "dayProfile": "waking",
            "description": "Timestamp when the discussion was created."
          },
          "participation_count": {
            "kind": "int",
            "min": 0,
            "max": 100,
            "description": "Number of students participating in the discussion.",
            "nullable": true
          }
        }
      },
      "enrollments": {
        "description": "Links students to courses they are enrolled in, detailing their participation.",
        "rows": 400,
        "columns": {
          "enrollment_id": {
            "kind": "pk",
            "description": "Unique identifier for each enrollment record."
          },
          "student_id": {
            "kind": "fk",
            "ref": "students.student_id",
            "description": "Foreign key linking to the student."
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.course_id",
            "description": "Foreign key linking to the course."
          },
          "enrollment_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the student enrolled in the course."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "nullable",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "Which courses have the highest student enrollment and what factors contribute to their popularity?",
      "How does the submission rate of assignments vary by course category?",
      "What is the correlation between discussion participation and assignment submissions?",
      "Which instructors receive the most positive feedback from students, and how does it impact course enrollment?",
      "Do students who participate in discussions perform better in assignments?"
    ],
    "suggestedQueries": [
      {
        "title": "List all courses and their instructors",
        "sql": "SELECT courses.title, instructors.full_name FROM courses JOIN instructors ON courses.instructor_id = instructors.instructor_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count of enrollments per course",
        "sql": "SELECT courses.title, COUNT(enrollments.student_id) AS enrollment_count FROM courses LEFT JOIN enrollments ON courses.course_id = enrollments.course_id GROUP BY courses.title;",
        "dialect": "postgres"
      },
      {
        "title": "Assignment submission rates by course",
        "sql": "SELECT courses.title, AVG(assignments.submitted::int) AS submission_rate FROM courses JOIN assignments ON courses.course_id = assignments.course_id GROUP BY courses.title;",
        "dialect": "postgres"
      },
      {
        "title": "Discussion participation trends over time",
        "sql": "SELECT DATE(discussions.created_at) AS discussion_date, COUNT(discussions.participation_count) AS total_participation FROM discussions GROUP BY discussion_date ORDER BY discussion_date;",
        "dialect": "postgres"
      },
      {
        "title": "Correlation between discussions and assignment submissions",
        "sql": "SELECT COUNT(assignments.assignment_id) AS assignments_submitted, SUM(discussions.participation_count) AS total_participation FROM assignments JOIN discussions ON assignments.course_id = discussions.course_id WHERE assignments.submitted = TRUE GROUP BY discussions.course_id;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Data analysis for course improvements",
        "body": "Educators can leverage this dataset to analyze student engagement across various courses, identifying which subjects attract more students and understanding the dynamics of assignment submissions versus participation in discussions. This can help in refining course content and teaching strategies."
      },
      {
        "title": "ORM Seeding for e-learning applications",
        "body": "Developers building e-learning platforms can utilize this synthetic dataset to seed their applications with realistic data for testing purposes. It allows for the simulation of user behaviors, course interactions, and assessments, ensuring that the application is robust and user-friendly."
      },
      {
        "title": "Researching instructor effectiveness",
        "body": "Researchers interested in the impact of instructor expertise on student performance can use this dataset to perform analytics on enrollment trends and feedback scores, providing insights into effective teaching practices and areas for improvement."
      },
      {
        "title": "Course marketing strategies",
        "body": "Marketing teams can analyze enrollment data to identify popular courses and trends in student interests. This allows them to craft targeted marketing campaigns to promote less popular courses or new offerings based on student preferences."
      }
    ]
  },
  "counts": {
    "instructors": 20,
    "courses": 50,
    "assignments": 300,
    "discussions": 150,
    "students": 200,
    "enrollments": 400
  },
  "stats": {
    "students": {
      "rows": 200,
      "columns": {
        "student_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 20,
          "distinct": 180,
          "min": "Alice Kim",
          "max": "Zoe Hughes"
        },
        "email": {
          "nulls": 33,
          "distinct": 167
        },
        "enrollment_date": {
          "nulls": 0,
          "distinct": 188,
          "min": "2020-01-02",
          "max": "2023-12-09"
        }
      }
    },
    "courses": {
      "rows": 50,
      "columns": {
        "course_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "title": {
          "nulls": 4,
          "distinct": 46
        },
        "category": {
          "nulls": 0,
          "distinct": 5,
          "min": "Arts",
          "max": "Technology"
        },
        "instructor_id": {
          "nulls": 0,
          "distinct": 18,
          "min": 1,
          "max": 20
        }
      }
    },
    "instructors": {
      "rows": 20,
      "columns": {
        "instructor_id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "full_name": {
          "nulls": 0,
          "distinct": 20,
          "min": "David Wright",
          "max": "Zoe Ali"
        },
        "expertise": {
          "nulls": 0,
          "distinct": 20
        }
      }
    },
    "assignments": {
      "rows": 300,
      "columns": {
        "assignment_id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "course_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "title": {
          "nulls": 27,
          "distinct": 273
        },
        "due_date": {
          "nulls": 0,
          "distinct": 209,
          "min": "2023-01-01",
          "max": "2023-12-30"
        },
        "submitted": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "discussions": {
      "rows": 150,
      "columns": {
        "discussion_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "course_id": {
          "nulls": 0,
          "distinct": 46,
          "min": 1,
          "max": 50
        },
        "created_at": {
          "nulls": 0,
          "distinct": 150,
          "min": "2023-01-04 14:41:47",
          "max": "2023-12-29 11:30:33"
        },
        "participation_count": {
          "nulls": 19,
          "distinct": 78,
          "min": 0,
          "max": 99
        }
      }
    },
    "enrollments": {
      "rows": 400,
      "columns": {
        "enrollment_id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "student_id": {
          "nulls": 0,
          "distinct": 171,
          "min": 1,
          "max": 200
        },
        "course_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "enrollment_date": {
          "nulls": 0,
          "distinct": 253,
          "min": "2023-01-01",
          "max": "2023-12-30"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/instructors.csv",
      "format": "csv",
      "table": "instructors",
      "key": "datasets/e-learning-platform/v1/csv/instructors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/csv/instructors.csv",
      "bytes": 1187,
      "sha256": "b7a2b0cda3135163f95d24a3b5aef414377746154fc7b1b052e0dcac192734b1",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/courses.csv",
      "format": "csv",
      "table": "courses",
      "key": "datasets/e-learning-platform/v1/csv/courses.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/csv/courses.csv",
      "bytes": 3011,
      "sha256": "861debf3cee2d988089d5675d9cfe7aec8e0ae3547f2a5c8da9ea2dc092593a6",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/assignments.csv",
      "format": "csv",
      "table": "assignments",
      "key": "datasets/e-learning-platform/v1/csv/assignments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/csv/assignments.csv",
      "bytes": 19330,
      "sha256": "679b485a8b6a95799bdc5ad490a2937f57b27340636bbb0925193dce51dd53bb",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/discussions.csv",
      "format": "csv",
      "table": "discussions",
      "key": "datasets/e-learning-platform/v1/csv/discussions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/csv/discussions.csv",
      "bytes": 4511,
      "sha256": "74508b5e86c407f002a517d53ee63c96879241a91ad28cf801a0777c7392b86c",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/students.csv",
      "format": "csv",
      "table": "students",
      "key": "datasets/e-learning-platform/v1/csv/students.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/csv/students.csv",
      "bytes": 9311,
      "sha256": "cc60ed23d6d68f3659342f159c27d9ae7dab204335be3b58400a2266444ea4c6",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/enrollments.csv",
      "format": "csv",
      "table": "enrollments",
      "key": "datasets/e-learning-platform/v1/csv/enrollments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/csv/enrollments.csv",
      "bytes": 8837,
      "sha256": "4e2e9b146a5118331abcb6621ec197337d2a74e93cb9c70ba5e0045aed861fde",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "e-learning-platform.json",
      "format": "json",
      "table": null,
      "key": "datasets/e-learning-platform/v1/e-learning-platform.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/e-learning-platform.json",
      "bytes": 164568,
      "sha256": "6f5d69f020b2787719ef41ee81c9d84438aa106ee13c49cd45ae26bc22663524",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/e-learning-platform/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/sql/postgres.sql",
      "bytes": 63898,
      "sha256": "181085226f934ae6f1526bc3f629e62c31b3a8b089dffaf2185a3a188d2178c5",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/e-learning-platform/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/sql/mysql.sql",
      "bytes": 62119,
      "sha256": "82ecd5a0787c21bbf3ad331ff8940ed570a70e4dab2f63884d21d616310bdce4",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/e-learning-platform/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/sql/mssql.sql",
      "bytes": 64314,
      "sha256": "c594eb4d3705cfb968fc912dd0eca9e5d0ee33e2d0d4504f23ad820de380e5e7",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/e-learning-platform/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/sql/sqlite.sql",
      "bytes": 61866,
      "sha256": "63fc77e01260441ddcf889686a69b7c303125070c9930471d72a8643ef0649b3",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/e-learning-platform/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/prisma/seed.ts",
      "bytes": 133605,
      "sha256": "118b8a10fc8df0c10e0d9d3a1e49ca1e23243ba14912ce3b4c35a2d2172d4e25",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/e-learning-platform/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/e-learning-platform/v1/django/fixtures.json",
      "bytes": 200957,
      "sha256": "a12947a44e90aa190d6daee300d96d0d61e15a672d8b299bfafb425eb5f02b04",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767841806,
  "updatedAt": 1788767841806
}
