Overview:
Need to design a module which is capable of managing practice-tests/exam-preps/online-exam based on request. Request can be of following types:
a) MCQ - Multiple Choice Question
b) SA - Short Answer
c) VSA - Very Short Answer
d) LA - Long Answer
Problem statement:
Consumption Clients like Mobile,Desktop should have the capability to queue the questions as per user interaction. Since most of the times these clients are believed to be offline, It creates a need to have a question player utility available for the system. Absence of such a system would end up having prolonged user experience, inefficient usage of browser resources etc.
Existing System:
Currently we have content player which is used as Single standalone solution for most of the content types. Any Changes to be done for the player would mean entire player should go for release life cycle.
Proposed System:
Proposed System will breakdown the player module into multiple modules. As part of larger initiative, this is step towards creating standalone player like QuML Player.Pros :
- Usage of Templating frameworks will provide at-most capability for UX capabilities.
- Dom Manipulation driven by templates will be absolute minimum
- JSONs which today holds significant logic of rendering can be nullified.
- Better Interaction Capabilities.
- Ecars which carry significant chunk of libraries to be loaded can be scoped out. Just pass on JSON in the ecar along with assets.
Ex: LateX library is worth 1.5MB today which gets carried across each ecar which has mathematical or scientific expressions.
Cons :
- Risk of testing these templates against big question bank.
- Any Changes in the User Experience might be a challenge for the users to get accustomed to new experience.
QuML
Distribution Mechanism: NPM
Components : Angular 7 Components
Module : QuML Player Module as Angular Library
Player Interface:
QuML Elements:
- QuML Player : Placeholder for all templates. Provides Intelligence in terms of:
- Question Ordering
- Animation
- Theme
- Time Keeping
- Behaviour Metadata
- Attempt Metadata
- Score Board
- Receiver of all Event Emitters of Hosted Templates
- Loader
- Template Components (MCQ,SA,VSA,LA or Any Future Components)
- Layout rendering
- Horizontal
- Vertical
- Grid
- 2 -Column
- 3 -Column
- Event Emitters on all interactions
- Layout rendering
- Telemetry wrapper for all emitted events
- Common Latex library which can process inline latex content
Hard Dependency:
Latex Library for rendering has to be hard dependency
QuML Elements
a) MCQ/SCQ : Multiple Choice / Single Choice Questions
b) SA : Short Answer
c) VSA : Very Short Answer
d) LA : Long Answer