Song Qifeng's Project Portfolio Page
Project: IntelliBrary
IntelliBrary is a desktop library management application used for library administrators to manage books. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.
Given below are my contributions to the project.
- Code Contributed:
See the link RepoSense link
-
Enhancements Implemented:
-
Create a series of Model: Problem:
-
I proposed to create the
Problem
series of features. -
I created the
Problem
series model, which is parallel to the existingbook
series model. I wrote 4 models, i.e.Problem.java
,Severity.java
,Description.java
, andProblemList.java
, together they form the main structure ofProblem
model. I also wrote corresponding test code for these models.
-
-
Add Feature: ReportProblem:
- I wrote
AddProblemCommand.java
,AddProblemCommandParser.java
and made modification to other existing relevant files. I also wrote corresponding test code for this feature.
- I wrote
-
Add Feature: ViewProblem:
- I wrote
ViewProblemCommand.java
and made modification to other existing relevant files. I also wrote corresponding test code for this feature.
- I wrote
-
Add Attribute: Publisher:
-
I wrote the model for
Publisher
, i.e.Publisher.java
. -
I made modifications to a dozen of other existing files.
-
I added test code for the newly added
Publisher
attribute.
-
-
-
Contributions to Documentation:
- User Guide:
- I wrote the sections of
ReportProblem
andViewProblem
features. - I proofread user guide, spot and fixed hidden problems like unavailable urls, typos, and not up-to-date or not reader-friendly sentences.
- I updated the out-of-date images.
- I wrote the sections of
- Developer Guide:
- I was in charge of the
Model
section, where I also drew a class diagram. - I drew the sequence diagrams for
ReportProblem
andViewProblem
. - I wrote the section of
ReportProblem
. I explicitly showed the processing steps and explained why it was implemented this way (e.g. have the attributeseverity
) and proposed an alternative (i.e. link problems to books). - I wrote the section of
ViewProblem
. I explicitly showed the processing steps.
- I was in charge of the
- User Guide:
- Contributions to Team-Based Tasks:
- I set up the Github team organisation and the repository.
- I proposed the idea of our project, i.e. an app for librarians.
- I proposed the name of our app, i.e.
IntelliBrary
. - I wrapped up 2 milestones and released v1.3.
- I contributed in documenting the target user profile and user stories.
- I classified the problems reported from PE dry run into different types so that we could easily attribute each problem to a developer.
- I made my effort to facilitate the team meetings and I was responsive and constructive during the team meetings.
- Review Contributions: I have reviewed the following PRs: PR25 PR26 PR27 PR28 PR30 PR31 PR33 PR126 PR223 PR244 PR265 PR267 PR273 PR280