Skip to content
This repository has been archived by the owner on Mar 15, 2020. It is now read-only.

Latest commit

 

History

History
100 lines (70 loc) · 5.16 KB

auxinnn.adoc

File metadata and controls

100 lines (70 loc) · 5.16 KB

Zhang Dongjun (Auxinnn) - Project Portfolio for NUStudy

Introduction

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:

Ui
Figure 1. The interface of NUStudy

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.

Summary of contributions

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:

    • I designed and implemented the basic architecture of quiz result so that my teammate could use it to support the report feature (#53 #74).

  • Identify problems in application for other teams:

    • I helped to discover some of the bugs in the application for another team so that they can fix them and improve the quality of the product (#2 #6).

User guide contributions

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.


Coming in v2.0

Developer guide contributions

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.