Skip to content
Erik Nickel edited this page Jun 17, 2022 · 6 revisions

Database Structure

User data

Users will be derived from the Django user class and extend it like described here: https://docs.djangoproject.com/en/4.0/topics/auth/customizing/#extending-the-existing-user-model

Competences

A (hierarchical?) set of competences. some of them might not be easily sorted hierarchic, the CEFR levels can give a rough estimation, harder within one CEFR level

Tasks

A task is a concrete task that has:

  • A list of competences covered
  • A headline
  • A task type
  • Depending on the task type: Text with/without gaps, Questions and Answers, ...
  • Solution
  • Explanation

Task Type 1: Single choice

Presents a text and asks a question with n possible answers out of which one is correct.

Answer

A possible answer to a task.

  • Task (ForeinKey)
  • content (Char maxlength=256)
  • correct (Boolean)
  • order (Integer) - order within the task
  • feedback (Char maxlength=512) - feedback to display if answer has been selected
  • URL (Url) - optional link to further information

UserModel

Estimations of levels for each user and each competence. List of all past task, and whether they were solved.

Terminology

  • 3 three levels (+,++,+++)

    • 10 modules per level (total = 30)

      • arbitrary number of lessons

        • each lessons exactly one paragraph

          • one lesson can have many task

            • each task has a task type
          • Constraint at least 2 Task Types per lesson

Task contains

  • (paragraph)

  • Type

    • Reading

    • Grammar&Style

    • Vocabulary

  • Subtype/Mode:

    • single choice

    • True/False

    • cloze

    • ...

  • Task data

    • options etc. depending on the subtype including feedback)
Clone this wiki locally