Project: CCACommander Ultra Promax Xtra 9000PLUS

Overview

CCACommander Ultra Promax Xtra 9000PLUS is a one-stop application for CCA Heads to manage CCA members and events, optimised for CCA Heads who prefer to use command line interface. My team and I adapted the product from an existing Java application called Address Book (Level 3) over a span of 1.5 months.

Given below is a summary of my contributions to the project. All of my code contributions can be found in this RepoSense link

Features Implemented

  • createMember #113
    • Feature details: Allows a user to create a member in CCACommander.
    • Justifications: Provides users with the capability to add new members.
  • Create Enrolment, Hours, Remark, UniqueEnrolmentList classes #144
    • Feature details: Introduces the fundamental classes to encapsulate an enrolment object.
    • Justifications: Establishes the core structure for tracking enrolment, hours, and remarks for CCA members, enhancing data organization and management.

Enhancements to existing features

  • Add Gender field to createMember command #113
    • Feature details: Introduces a Gender field to the createMember command, allowing users to specify the gender of the created member.
    • Justifications: Accommodates more detailed member profiles.
  • Refactor AddressBook to CCACommander #132
    • Feature details: Renames AddressBook to CCACommander for improved relevance and clarity.
    • Justifications: Aligns the naming with the application’s domain, making the codebase more intuitive and reflective of its purpose.
  • Refactor Attendance to Enrolment #177
    • Feature details: Renames Attendance to Enrolment to align with the Enrol command.
    • Justifications: Enhances code readability and semantic accuracy, making it easier for developers to understand the class’s role in managing enrolment data.
  • Optional fields #183
    • Feature details: Introduces optional fields to relevant commands, allowing users to include additional information based on their needs.
    • Justifications: Caters to various scenarios where optional details might not be necessary.

Relevant tests were added for features implemented and feature enhancements.

Project management

  • In my role overseeing documentation, I meticulously ensure the user guide and developer guide are not only well-formatted but also maintain a consistent and professional appearance. Check out some examples from these pull requests: #98, #301

Documentation

  • User Guide
    • Added command details and summaries for the following commands: createMember #88, clear #168.
    • Added list of commands that can be undone under the undo command section. #251
    • Added screenshots for the following commands: list, viewMember, viewEvent. #256
    • Created table to organise list of acceptable values for each command. #254
    • Enhanced formatting of the user guide to ensure consistency and well-structured presentation. #301
      • Credits: Styling for table of contents was adapted from StackOverflow.
  • Developer Guide
    • Added target user profile and value proposition #90
    • Added UC01 - Create a member #90
    • Added a section to explain the Enrolment model, supplemented with a diagram #173

Community

  • This is the full list of pull requests which I have reviewed.
  • A non-exhaustive list of non-trivial pull requests which I have reviewed:
  • Bugs found: