Liu Yangming'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, and uses JavaFX for the GUI. Listed below are my contributions to this project.
-
Code contributed(contributed 4800 lines of code): RepoSense link
- New Features Created new Storage and UI for problem reports; In addition, implemented Search (
findpr
), edit (editpr
), and delete (deletepr
) problem reports.- What it does: Stores reports and better UI; Allows the librarian to search for reports that contain keywords, edit the reports, and delete reports.
- Justification: This feature improves the product significantly because it librarians are now able to manage problem reports besides books management. They can also gather relevant problem reports for more efficient processing.
- Highlights: The implementation affects the structure of storage and UI of the application. In-depth analysis of the storage structure and UI structure is needed during implementation.
- New Features Find the most popular book
findpop
; Randomized selection of booksrandom
.- What it does: 1. allows the librarian to find the most popular book of each category; 2. allows librarians to have randomized selection of books of each categories.
- Justification: This feature improves the product significantly because it enables librarians to analyze popularity of books of various categories, and conveniently conduct valid random sampling data analysis.
- New Features Delete book efficiently by book name or ISBN; Batch deletion of unpopular books which are rarely borrowed.
DeleteBy
- What it does: allows the librarian directly delete a book by name or ISBN. Librarians can also delete all unpopular books which are rarely borrowed.
- Justification: This feature improves the product significantly because it makes it easier for librarians to efficiently delete books without the need to find it first. Librarians can also efficiently batch manage and clean up unpopular books.
- Tests Created and added tests for
add
,deleteBy
,findpr
,deletepr
,editpr
,random
, andfindpop
commands, which improve the test coverage of our application. - Enhancements to existing features:
- Enhanced the original
add
. Created new ModelAuthor
and allowadd
to add a Book Model. Set new constraints for book’s attributes.(pull requests #88) - Created new user interface MainWindow and Problem card to accommodate book and report management. Fixed previous UI bugs. (pull requests #222 #224)
- Implemented UI component
ProblemReportListCard
andProblemReportListPanel
- Implemented UI component
- Project management:
- Managed the issue tracking of and project task of Milestone v1.4
- Documentation (Contributed 1300 lines to documentation according to Reposense):
- User Guide:
- Explained the constraints on
add
command and relating attributes. - Explained
random
, andfindpop
commands and the usage for target users. - Explained
deleteBy
command and its behaviors in different situations. - Explained
findpr
,deletepr
,editpr
commands. - Updated command summary, added visual illustrations, and formatted User Guide styling.
- Explained the constraints on
- Developer Guide:
- Upadated
Architecture
andLogic
Component, corresponding Logic Component diagrams, and example sequence diagrams of delete, class diagram for Problem Model. - Created sequence diagrams for
add
,deleteBy
,findpr
,editpr
,random
, andfindpop
commands, and class diagram for Problem class. - Explained
add
,deleteBy
,findpr
,deletepr
,editpr
,random
, andfindpop
commands. - Added six user stories and six use cases.
- Created Non-Functional Requirements.
- Upadated
- User Guide:
- Contributions to the Team-Based Tasks:
- Morph the original AB3 from
Person
to the newBook
. - Managed branch protection.
- Reset(Git) our master branch to resolve Reposense detection errors.
- Manage Milestone v1.4 and helped release v1.3 Jar File.
- Changed footer of the application
intellibrary
- Morph the original AB3 from
-
Review contributions: pull requests review comments PR301 , PR275 , PR245 , PR244, PR242, PR241 , PR237, PR235 , PR231 , PR226 , PR221 , PR226 , PR158, PR41.
- Community contributions
Helped classmates on forum: issue359, issue221, issue221, issue107, issue15
Helped other teams identify flaws: issue195, issue194, issue191, , issue192, etc.