Project: MovieMate
MovieMate is a desktop movie application used to save your own watched list and to-watch list.
The user interacts with it using a CLI, and it is written in Java.
Given below are my contributions to the project.
- New Feature: Added the ability to add movies to the watched/to-watch lists.
- What it does: Get the movie name entered by the user and display some titles that fit the description.
- Justification: This feature enables the user to search for the movie they have in mind by name and place it in their watched/to-watch list for future reference.
- Highlights: This enhancement affects existing commands and commands to be added in the future. The implementation too was challenging as it required changes to existing commands.
- New Feature: Added the ability to remove movies from the watched/to-watch lists.
- What it does: Allow the user to remove movies from their lists by index.
- Justification: This feature improves the user experience when the user would like to reduce clutter or if they have changed their mind on wanting a particular movie in the list.
- Highlights: This enhancement affects existing commands and commands to be added in the future. The implementation too was challenging as it required changes to existing commands.
- removeWatchedList and removeToWatchList were previously 2 methods performing the remove function for their respective lists, only to be later merged into a single method, removeMovieList.
- Code contributed: here
- Project management:
- Managed releases
v1.0 - v2.1 (3 releases) on GitHub
- Enhancements to existing features:
- General fixes for unhandled exceptions and unexpected output throughout the code
- Enhanced
watched and towatch features, automatically remove movie from to-watch list if user tries to add that same movie to watched list. Conversely, informs user if they try to add a movie already in watched list to to-watch list and prompts for Y/N response if they would like to proceed with deleting it in watched list.
- Enhanced any feature requiring integer input (i.e. all except
filter and bye) by continuously prompting for further id input if invalid input is registered, instead of requiring the user the re-type the command name again. Input 0 (otherwise an invalid movie id) is accepted in case the user wants to cancel the last command.
- Documentation:
- User Guide:
- Added initial documentation for all features. Continued to update examples provided regularly to reflect the code’s functionality accurately as it changed throughout the project.
- Developer Guide:
- Added implementation details of the
filter feature.
- Community:
- Reported bugs and suggestions for other teams in the class during PE Dry Run.
- Raised bugs discovered when testing to team-mates and asked for suggestions on ways to resolve them. If I could come up with a solution myself, I would implement it first and ask for feedback from the rest.