Skip to content

Domain model

Ap13Crow edited this page Apr 6, 2025 · 1 revision

Main Classes

  • Learner
    • Properties: ID(int), Name(string), Associated courses (List[number of courses(int), course(class), progress of course(int)])
  • Course
    • Properties: ID(int), Name(string), Topics (List of Topics)
  • Topic
    • Properties: ID(int), Name(string), Modules (Liste of Modules)
  • Module
    • Properties: ID(int), IsCompleted(boolean), ModuleItems(list of Type(class))

Sub-classes

ModuleItems:

  • Quiz
    • Properties: ID(int), Name(string), Question(string), Answer(string), dueTime(dateTime), Result(int), isCompleted(bool)
  • Dictionary
    • Properties: ID(int), Vocabulary(list of words), Meaning(string), ExampleSentence(string), IsLearned(bool)
  • Note
    • Properties: ID(int), Name(string), Content(string), Tags(List of strings), CreatedDate(dateTime), ModifiedDate(dateTime)

(I assumed that a course has one or more topics divided into one or more modules. These modules have different types of items like quizzes, dictionaries, content, and associated notes.)

  • DataStore
    • Methods: SaveData(), LoadData()
  • NoteManager, CourseManager, QuizManager, VocabularyManager
    • Each is responsible for adding, editing, deleting, and searching their entity.

Domain Model-3

Clone this wiki locally