Project: SmartLib

SmartLib is a desktop app for managing private book loaning services owning less than 10,000 books, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, SmartLib can systematically manage your books and borrowers’ information in a more efficient manner than traditional GUI apps.

Given below are my contributions to the project.

  • New Feature: Added the feature of borrow and return
    • What it does: allows the user to record borrow and return activity
    • Version 1.2 Parameter: borrow by bookname and readername, return by bookname and readername (As version 1.2 bookname is the unique identifier of books) (pull requests #126, #127, #107, #106, #99)
    • Later modified: return by barcode only (As version 1.3, barcode became the unique identifier of books)
  • Amendments: Other refactors including addition and deletion of attributes
    • Added booksBorrowed in reader class to allow multiple borrows from a reader (pull requests #140)
    • Updated sampleUtil initialization data (pull requests #128)
  • Bug fix:
    • Fixed two null pointer exceptions caused during negative testing (pull requests #283)
    • Fixed allowing deletion of unreturned books (pull requests #269)
    • Fixed allowing deletion of reader with unreturned books (pull requests #268)
  • Change in UI: Improved the UI
    • What it does: changed the color theme and added icons (pull requests #190, #188)
  • Code contributed: RepoSense link

  • Documentation:
    • Readme:
      • Updated Readme.md source after morph (pull requests #69)
    • User Guide:
      • Added documentation for the features borrow and return (pull requests #285, #286, #67)
    • Developer Guide:
      • Added implementation details of the borrow and return feature (pull requests #149, #147,)
      • Added description for addbook and deletereader reference.(pull requests #287)
    • JavaDoc:
  • Community:
    • Contributed to forum discussions (issue #1)
    • Reported bugs and suggestions for other teams in the class (issues #1 - #12)