Project: gitGud

What is gitGud?

gitGud is a desktop application for storing and managing friends’ gaming information and schedules. It is dedicated to gamers and provides a gamer-themed experience with a focus on increasing the user’s efficiency through its typing-based interface.

What did I do?

  • Notable Code Contributions:
    1. Created the structure and support for Games and GameFriendLinks New Addition
      • Created the necessary objects, lists, and integrated them into the gitGud’s model.
    2. Added the ability to get a friend New Feature
      • What it does: allows the user to get all information linked to a friend.
      • Justification: This feature improves the product significantly because a user is now able to view all the information about a friend at one place, which includes the schedule, all the games that friend plays, their respective in-game usernames and the skill level.
    3. Added the ability to get a game New Feature
      • What it does: allows the user to get all information linked to a game.
      • Justification: This feature improves the product significantly because a user is now able to view all the information about a game at one place, which includes all the friends that play the game, their respective in-game usernames and the skill level for the game.
    4. Update Validation Regex Refactor - Enhancement
      • Update and standardize a validation regex for data classes
    5. Update command usage messages Refactor - Enhancement
      • Update and standardize the command usage messages for various commands and subcommands.
  • Testing
    1. Wrote unit/integration tests for Game, GameFriendLink and related classes.
    2. Wrote unit/integration tests for friend --get and game --get commands.
    3. Update unit/integration tests for model component to reach 100% class coverage, 100% method coverage, and 99% line coverage.
  • Code contributed: RepoSense link

  • Enhancements to existing features:
    1. Refactor Friend to keep track of the GameFriendLinks in the form of a Map instead of the traditional Set used in AB3.
    2. Purge find command from the codebase. Replace with --list subcommand.
  • Documentation:
    • User Guide:
      • Added the Introduction, Quick start, FAQ and Command Summary to complement the rest of the documentation.
      • Update documentation for friend --get and game --get
      • Serialize the sections.
    • Developer Guide:
      • Added use case for the --get commands.
      • Added the Non-Functional Requirements (NFR) section.
      • Update the Model component
      • Add --get implementation details.
      • Serialize the sections.
    • README:
      • Created and added the product logo.
  • Community:
  • Stats: