Overview


Minefriends is an application for Minecraft multiplayer players to keep track of their Minecraft friends. It aims to help players to find the right people to play the right game mode at the right time.

Summary of Contributions


I was in charge with the Object-Oriented Programming part of the project, ensuring that our code achieves high levels of abstraction and is of good quality overall. Furthermore, I was responsible with bug-testing and fixing, as well as coming up with test cases to ensure that the code is safe for usage.

Code contributed

The link to my contributions in the code dashboard is here.

Enhancements implemented

  • Added additional fields to the Person class such as Minecraft servers and available timings to improve versatility of user input
  • Implemented the suggest dt/now feature that allows players to find friends that are online currently
    • This involved using the current time shown on personal device to filter out friends, plus utilising inbuilt Java API such as LocalDateTime.
  • Conducted thorough bug finding and bug fixing on functional code
  • Added many JUnit test cases that address edge cases and common bugs

Contributions to the User Guide

  • Contributed to the overall organisation of the user guide through use of tables and boxes
  • Came up with easy-to-understand examples to demonstrate how the application can be used
  • Proofread to ensure that the user guide is easy to read and appropriate for target audience

Contributions to the Developer’s Guide

  • In charge of UML diagrams of the features implemented in the application
    • Some UML diagrams are the EditCommand class diagram, EditCommand sequence diagram, as well as the suggest dt/now sequence diagram
    • These UML diagrams are meant to provide developers with a better visual representation of how different classes and objects work with one another to ensure that the application runs.
  • Proofreading and styling of the guide to ensure good readability.

Contributions to team-based tasks

  • Minutes taking for team meetings
  • Coming up with punctual, succinct code of good quality
  • Regular updates of bugs and potential bugs

Reviewing/mentoring contributions

  • Reviewed PRs made my teammates
  • Gave advice to teammates when they encounter any coding difficulty or any bugs in their code
  • Shared with teammates any difficulty that I encountered during this project so that they do not make the same mistake

Contributions beyond the project team

  • I contribute to the CS2103T forum by answering questions that I have the answers to.