Planning
Options Explored:
Java with JavaFX
Pros: | Cons: |
---|---|
Java Desktop applications works “out-of-the-box” on many platforms | Requires a lot more storage than something over the internet |
Scene Builder is convinient to build UI | Performance |
CSS/FXML can seperate layout from logic | Maturity, is not that developed, less resources online |
ReactJS
Pros: | Cons: |
Reusable components | Lack of documentation |
Dynamic | Requires learning a new language (JavaScript) |
Web apps don’t work without an Internet Connection |
SQLite
Pros: | Cons: |
Affordable | Restricted to 2GB for database size |
Lightweight | |
Works without internet and well for small datasets like the quiz quesions |
MySQL
Pros: | Cons: |
---|---|
Scalable | Expensive |
High performance | Requires server to run |
Needs internet to run |
QuizController class:
Types of Questions:
- Matching: maybe with cards?
- 4 real questions match right answer with question?
- Only short answer question ones
- 4 real questions match right answer with question?
- Multiple choice
- Easiest one, just use the 4 options given
- Vertical ABCD option under question
- Short Answer
- SELECT all in short answer column if
short_answer = 1
- TextField
- SELECT all in short answer column if
- True or false
- Question format: Write question + “: “+answer
- True or false radio button
- Question format: Write question + “: “+answer
General Logic:
- Similar to online form (vertical layout)
- Assign type of question id’s
- Then, random num generator to pick question type
- Select all ids for valid questions of that question type
- Put in array and randomly select index of array
- Call that id from table of questions
- Repeat 5 times for each question