Project Portfolio Page for Justin Cheng
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 thesuggest 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.
- Some UML diagrams are the
- 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.