Li Sizhuang - Project Portfolio Page
Project: QuizHub
QuizHUB is a local desktop app designed to help NUS students easily record examinable questions and generate quizzes
from their very own question bank to test their understanding via a Command Line Interface (CLI). Easily launch-able
on the go, QuizHUB is a versatile tool that aims to streamline and optimize the revision experience for NUS students
from all fields of study.
My Contributions
Link to RepoSense
Project Management
- Manage milestones and issues in GitHub tracker
- Outline structure of classes and program flow in the overall design
- Convert user stories to tasks
- Manage code releases
Features Added
- Initialized the skeleton code from Man Juncheng with all necessary classes
to allow the team to work on the features PR #7
- Designed the command parsing structure with inspirations from AddressBook-Level 3 and implemented the
classes necessary for handling invalid commands PR #16
- Restructures the command parsing structure to improve coherence
PR #80
- Standardize methods to convert question to Strings #195
- Standardize methods to check answer validity and correctness
#221
Code Testing and Improvement
- Initialize and maintain Unit testing with Junit
- Ensure cross-platform compatibility
- Update test according to features to ensure 100% passing rate
- Add testing for invalid command handling PR #29
- Fix test cases to pass CI checks PR #89
- Fix line separator issues in tests PR #95
- Regularly conduct integration tests with various test cases to find and fix bugs
- Use equivalence partition, system testing technique and debugging to locate possible bugs
- Ensure that the user guide complies with the current features
- Found and fixed bugs in edit command PR #28
- Found and fixed bugs in taking quizzes PR #38
- Found and fixed logic bugs in editing questions PR #41
- Found and fixed bugs in loading from file PR #61
- Fixed various bugs found during PE-D PR #186,
PR #187,
PR #188
- Fix bugs in start quiz command PR #224
- Refactor code to maintain overall code quality
- Ensure compliance with SE-Guide and checkstyle
- Focuses on reducing arrowhead code, duplicate code, magic numbers, etc.
- Fix code style issues PR #37
- Abstracted long methods in storage class PR #60
- Update user guides and reduce magic numbers PR #126
- Standardize and remove deprecated names PR #131
- Abstract displaying of questions to improve code reuse
PR #201
- Improve code quality in question-list class PR #203
Design Guide Contributions
- Formulated the design guide template
- Formatted and added user stories
- Added diagrams for overall execution of the program
- Reported bugs and suggested fixes during the practical exam dry run