Sarthak Pradhan's Project Portfolio Page
Project: LibTask
LibTask is a desktop application used by NUS libraries to keep track of books, overdue books, and contact details of patrons who have borrowed them and those who requested them. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. This project is based on AddressBook - Level 3.
Given below are my contributions to the project.
- New Feature:
- Added the ability for users to view their previous commands
- What it does
- Allows users to make changes to their previous commands if needed.
- Justification
- It will speed up the process should the user wish to key in multiple similar commands
- Will also allow them to check if any of the fields were incorrectly entered.
- Highlights
- This command changes the way users can interact with LibTask, making it more efficient for librarians who have to do similar work repeatedly.
- As TextInputControl consumes functions keys, this feature was designed to be called by the “u” key. This was a change from the original plan of using arrow keys.
- It was also the only feature that would edit the CommandBox which required additional work to implement.
- Credits
- Worked with Ang Yong Liang to make sure it updated the properly
- What it does
- Added the ability for users to search for a book by its category tag, author or name.
- What it does
- Allows users to quickly find certain books using a search query
- Justification
- It will make it easier for a librarian to find all books that are part of the same category or author.
- Allows the librarian to quickly find all books related to a topic.
- Highlights
- Requires more work than patron find, to ensure that only one argument is parsed into the software since it can be one of 3.
- Required the creation of 3 predicates to check for the validity of each prefix.
- What it does
- Added the ability for users to view their previous commands
- Code contributed: RepoSense link
- Project management:
- Approved and reviewed PR’s for merging
- Created issues for PR’s to recommend changes
- Worked with team members to resolve merge conflicts in a timely manner.
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Review/mentoring contributions:
- Community:
- Bugs reported for other team can be found here
- Tools:
- Gradle
- Intellij
- Assertions