Project: Academy Directory

Academy Directory is a desktop address book application used for CS1101S tutors to keep track of information related to their students. The user interacts with it using a CLI and mouse, and it has a GUI created with JavaFX. It is written in Java, and has about 14 kLoC.

Given below are my contributions to the project.

Code contributed: RepoSense link

Project management:

  • Managed releases v1.2 - v1.4 (3 releases) on GitHub

Features

New Feature:

  • Added the ability to keep track of a student’s Studio Attendance (Pull requests #49, #60)
    • What it does: Keeps track of whether a student has attended a Studio.
    • Justification: This is a core feature for tutors to be able to keep track of their student’s Attendance.
    • Highlights: Easy to use and intuitive since te information required for a tutor to key in is minimal. It is a standalone feature and would have no impact on most other existing features (e.g Add and Edit).

New Feature:

  • Added the ability to keep track of a student’s Studio Participation Score (Pull request #64)
    • What it does: Keeps track of a student’s Participation Score in any Studio session.
    • Justification: This is a core feature for tutors to be able to keep track of their student’s Participation.
    • Highlights: Currently set to a range of 0 to 500 inclusive to fit the needs of CS1101S, but is easily changeable with future iterations such as an admin console. It is a standalone feature and would have no impact on most other existing features (e.g Add and Edit).

New Feature:

  • Added the ability to sort AcademyDirectory’s student list. (Pull request #87)
    • What it does: Sorts the student list stored in the AcademyDirectory based on performance in specific assessments or on average, participation in tutorials as well as their name. Sorting can be done in either ascending or descending order.
    • Justification: This feature improves the product significantly as it allows tutors to sort the student list to suit their needs at any given time with a simple CLI input.
    • Highlights: Sorts with the optimized List sort with comparator method. It is a standalone feature and would have no impact on most other existing features (e.g Add and Edit).

Enhancements to existing features:

  • Refactored the original code for Address Book 3 to suit Academy Directory. (Pull request #47)
  • Updated the Student class (was Person) to support additional field StudioRecord.

Documentation:

  • User Guide:
    • Added documentation for the features attendance and participation. (Pull request #69)
    • Fix typo from original Address Book 3 (Pull request #201)
    • Improved Table of Contents. (Pull request #128)
  • Developer Guide:
    • Added implementation details of the existing add and edit features.
    • Added Non-Functional Requirements. (Pull request #201)
    • Add implementation details of participation, attendance and sort features. (Pull requests #91, #92)
      • Designed the UML diagrams for all 3 features.
    • Refactored existing Address Book 3 diagrams to fit Academy Directory. (Pull request #91)
  • Community:
    • PRs reviewed (with non-trivial review comments): #148, #198, #229
    • Actively contributed to all team meetings and discussions for all related releases.
    • Reported bugs and suggestions for other teams in the class i.e. PED.