Skip to content

Latest commit

 

History

History
96 lines (64 loc) · 4.31 KB

shirleywangxt.adoc

File metadata and controls

96 lines (64 loc) · 4.31 KB

Wang Xueting (ShirleyWangxt) - Project Portfolio for NUStudy

Introduction

This project portfolio serves the purpose to showcase my contribution to NUStudy as our software engineering project and the various skills I have acquired and utilised in the process of development.

Project Overview

Our team consists of 5 software engineering students who are passionate about software development. We were assigned to enhance a basic command line interface desktop address book application for our Software Engineering project. We decided to morph it into a revision flashcard desktop application called NUStudy. This enhanced application enables NUS students to store and manage lecture notes, practice questions under exam conditions and plan revision tasks effectively.

This is what our project looks like:

full

My job is to design and write the code for question management features. Details of the enhancements and relevant documentation I have completed will be further explained in sections below.

Please take note of the following symbols and formatting used in this documentaion:

  • monospace indicates command-line input

  • italics indicates class names

  • # followed by a number indicates a pull request (PR) or issue (eg. #12)

Summary of contributions

This section shows a summary of my coding, documentation, and other helpful contributions to the team project.

Enhancement added:

What it does

  • I was responsible for implementing question management features.A question includes a question body, an answer, a subject and a difficulty level. I have modified the existing Person model to Question model, as well as some of its relevant fields in the original address book application. (starting from PR #44).

  • The question management commands are modified by the original person management commands as well. The commands include: AddQuestionCommand, EditQuestionCommand, DeleteQuestionCommand, ClearQuestionCommand, FindQuestionCommand, FindDifficultyCommand, FindSubjectCommand, ListQuestionCommand.

Justification

It is important for students to constantly practice questions to test their understanding as well as get familiarize with the concepts they have learned. This question management system allows students to store questions easily. They are able to use this app as a question bank for them to revise. Furthermore, by defining difficulty levels for each question, student can have a better sense of how well they have learned from this topic or this subject in general. The question bank can also support other features such as quiz mode and various statistics for attempts.

Code Contributed

Please click this link to see a sample of my code: link

Other contributions

  • Testing: As I am responsible for testing, I have added a significant number of test classes which increased coverage to a large extent (as seen from PR #84).

  • Documentation: I modified the user guide from a draft version to the standardised formal version. I have also standardised the command format for most of the features.

  • Community:

    • Reviewed Pull Requests #43, #53

    • Reported bugs and offered suggestions for other teams in the class. Please click this link to see a list of issues I have created for peer reviews. link

User guide contributions

The following is a part from my NUStudy User Guide, showing enhancements that I have made for the question management features.


Developer guide contributions

The following section shows my additions to the NUStudy Developer Guide for the question management features.