Project: Fish Ahoy!

Fish Ahoy! Is a desktop app for managing your fish, fish tanks, and relevant tasks, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).

Fish Ahoy! streamlines the fish keeping experience by helping you keep track of your many fishes, tanks and weekly tasks, such as feeding and cleaning.

Given below are my contributions to the project.

  • New Feature TankFeedCommand: Added the ability for user to record when they have fed a particular tank [PR#83]
    • What it does: allows the user to record when they have fed a particular tank.
    • Justification: This feature provides users with a quick way to update the last-fed times of all fishes in the tank.
    • Highlights: This enhancement required working with Java Date-Time classes, and was challenging to implement as changes to last-fed-date-time of every fish in the model has to be reflected to the UI in real-time.
  • New Feature TankViewCommand: Added the ability for the user to view a particular tank [PR#48]
    • What it does: allows the user to view a particular tank.
    • Justification: This feature provides users with a quick way to view the details of that specific tank, which includes its fishes, tasks and reminders.
    • Highlights: The implementation for TankViewCommand was challenging as it required changes to existing commands.
  • New Feature: Added profile pictures to fishes [PR#91]
    • What it does: gives every fish a profile picture based on their species.
    • Justification: This feature enhances the visuals of FishAhoy!.
    • Highlights: This enhancement required careful selection of images as large image sizes would slow down the application significantly.
  • Code contributed: RepoSense link

  • Project management:
    • Checked, approved and merged several PRs, and handled conflicts [PR#37, #58]
  • Enhancements to existing features:

    • Refactored EditCommand to FishEditCommand and TankEditCommand [PR#131]
      • Changed the way EditDescriptor works since it was unable to directly get reference of new Tank as it does not have access to model
    • Refactored AddCommandTest, EditCommandTest, DeleteCommandTest to support fishes and new command formats [PR#241]
  • Documentation:
    • Developer Guide:
      • Added implementation details of the TankFeedCommand feature.
      • Added sequence diagram for logic and model portions of TankFeedCommand.