Project: CLIpboard

CLIpboard is a desktop application that helps educators, especially those that tutor multiple classes, by managing their students’ particulars in an organised manner. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI) created with JavaFX. —

Code Contributed

To view codes contributed by me: RepoSense link

Features

  • Designed and implemented features of taking attendance (#114, #116, #119, #121, #148)

    • Created classes Session, UniqueSessionsList, SerializedSession
    • Implemented add session, edit session, delete session, session, mark, unmark, attendance commands
      • add session, edit session, delete session : Adding / Editing / Deleting a session from a group
      • session : Viewing sessions of a group
      • mark / unmark: Marking attendance of a student for a session
      • attendance : Viewing the attendance result of a student or a session.
    • Implemented converting Session into json object for storage purpose
  • Modified existing commands to match with remodelled code (#126, #156)
    • edit, clear commands
  • Implemented features of displaying student’s photo (#44)
  • Implemented sample data populated when user first opens the app (#162)

Testing

Wrote test cases for:

  • Most of the Command class (#243, #251)
  • Some Parser class (#256)

Test cases were targeted at achieving high coverage rate and managed to increase test coverage by more than 10%.

Contributions to User Guide

  • Drafted User Guide and README for v1.2 (#76)
  • Added guide to help users with reading the User Guide (#228)
  • Added sections for different types of find commands (#241)
  • Helped to review PRs about User Guide

Contributions to Developer Guide

  • Documented object dependency in the project (#253)
  • Created UML diagrams to illustrate object dependency (Class Diagram, Object Diagram)
  • Added a section Effort for others to evaluate the effort for the entire project

Contributions to Team-Based Tasks

  • Creating issues for progress tracking (issues)
  • Fixing bugs

Review/Monitoring Contributions

Contributions Beyond the Project Team

  • Attended PE-D bug-catching exercise to catch bugs of another team (link)