This portfolio is used to showcase my contribution to the CS2103T project in National University of Singapore. There are five students in our group, all majoring in Computer Science. We are given a task to enhance a desktop application Address book 3 with JavaFX GUI. It supports the command line interface for use input. We decided to morph it into a study management application called NUStudy which is targeted to university students. NUStudy is used to manage students' lecture notes, test questions and revision tasks. It also allows students to do mock quiz and view the statistics of the results for better revision.
This is the interface of our project:
I am responsible for designing and writing codes for quiz feature. The following sections will describe my contributions to the feature and relevant documentations in detail.
Here are some explanations of the icons and formatting used in this portfolio:
-
A highlighted
monospace
implies that this is a command that can be inputted and executed by the application. -
Italics implies a component, class or object in the architecture of the application.
-
The pull requests and issues are represented by a # and its number (e.g. #1)
Note
|
This symbol indicates that the following information is important. |
This section briefly describes my contributions to the implementation of quiz feature and other helpful contributions to the group.
Enhancement added: I added the quiz feature of the application (Starting from #36)
-
What it does: This feature allows the users to do a mock quiz. The
quiz
command allows the users to enter the quiz mode of the application. Users can type answer on command line and the correctness will be checked to show the result. The result of each quiz will be stored as QuizResult and used to support the report feature. -
Justification: The
quiz
command will randomly select questions from the database according to the difficulty and subject specified by users and stored in QuizQuestionList. It will act like an actual online quiz which the question will be displayed one at a time and users need to type answer to receive the feedback from the application to know whether it is correct or wrong. -
Highlights: This feature cooperates with another feature implemented by my teammate. The result of each question from the quiz will be stored and my teammate will use it for report feature. The implementation was tricky in the beginning on how to override the question panel and displaying quiz questions one after another. I solve it by using a boolean to set the QuestionListPanel in the MainWindow class and adding a list containing one quiz question in QuizQuestionList class to display question one by one(#49 #70 #76).
Code contributed: You may review the report of my code contribution to the project here.
Other contributions:
-
Basic design of Question feature:
-
During the development of quiz feature, I helped to design a basic model of question feature so that my teammate could refer to the template for modification and further development (#39).
-
-
Implement Quiz Result to support report feature:
-
Identify problems in application for other teams:
We have modified the User Guide of Address Book to demonstrate the commands of our project. The following part shows my contribution to the NUStudy User Guide for quiz feature.
We also modified the Developer Guide so that the style and architecture fit our project. The following part shows my contribution to the NUStudy Developer Guide for quiz feature.
Note
|
In this sections, monospace indicates user command, class objects and methods.
|