Skip to content

Latest commit

 

History

History
126 lines (85 loc) · 6.11 KB

jcjjjared.adoc

File metadata and controls

126 lines (85 loc) · 6.11 KB

Jared Chiang: Project Portfolio Page for EzWatchlist

This document serves to show the various contributions that I have made in the development of EzWatchlist in a concise and understandable manner.

More About The Project

EzWatchlist is a desktop application that allows forgetful users to keep track of movies and tv series that they want to watch or have watched. It was developed by a group of 5 students from the National University of Singapore taking the Software Engineering module including myself under the premise that we had to either optimize or morph an existing AddressBook application. We chose the latter. Another constraint was ensuring that the application has a command-line interface, which means that all commands should be executable through typing. The picture below shows the various components of EzWatchlist.

Ui
Figure 1. Graphical User Interface of EzWacthlist

Main Features

  • Adding, editing and deleting shows

  • Keeping track of shows and episodes that are watched

  • Online search and syncing of shows

  • Statistics about user’s watchlist

Role

I was tasked with ensuring integration of the features of EzWatchlist. This means that I had to ensure that the commands work with one another well and perform their expected functions in the respective pages. This was a challenge since our application uses 4 different tabs, each with their unique functions and list of shows, so the implementation of the commands would vary from tab to tab.

Interpreting Symbols

The table below shows a summary of the symbols used and their respective meanings.

Symbol Meaning

Command Component

Commands and Components of the Project

[lightbulb o]

Tips for the user

[info circle]

Additional information

Summary of Contributions

This section provides an overview of the contributions that I have made to the development of EzWatchlist. It also showcases some of my coding and documentation abilities, and the challenges I faced during the development of EzWatchlist.

Major Contributions

Implemented the watch feature

What it does

The watch feature allows users to update their watch list if a show has been watched. It also helps users to keep track of where they are in a TV series in terms of seasons and episodes.

Justification

The watch feature enables users to keep track of shows that they have and have not watched so that they can plan out what they want to watch in the future.

Highlights

This enhancement resulted in a need to change the storage structure of the shows to include the episodes and tv seasons. Its implementation was a challenge since it required structural change of the show objects, splitting them into movies and tv shows. The addition of the clickable checkbox to mark or unmark shows also increased the difficulty of the implementation.

Minor Contributions

  • Separated the the watchlist into different sections (not watched and watched).

  • Changed the storage structure of the shows to save them as either movies or tv shows. This feature was implemented with the intention of possibly retrieving season and episode details future versions.

Code Contributions

View my code contributions here.

Other Contributions

Note
#Numbers represent pull requests to the mentioned contributions. These links show the code that has been contributed to the team project

Project Management

  • Provided the team with information about the tasks that need to be completed

  • Assigned tasks 1, 2

Enhancements to Features:

  • Improved add command by reducing amount of information needed to be entered #138

  • Changed storage structure to save shows as movies or tv shows #117

  • Writing of various tests for EzWatchlist to reduce the possibility of bugs when using EzWatchlist #231, #237

Documentation:

  • Improved the structure of the user guide #15, #214

  • Updated the developer guide #241

Community:

  • Reviewed team pull requests #74, #81, #84

  • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)

Tools:

  • Set up Travis Continuous Integration

Contributions to User Guide

This section serves to showcase my contributions to the User Guide, as well as my ability to write documentation for users in a concise and understandable manner. It also shows my ability to use asciidoc and markup language for formatting.

Contributions to Developer Guide

This sections showcases my contribution to the EzWatchlist Developer Guide. It exhibits my ability to use diagrams and technical terms to inform other developers of how the features were implemented and the possibility for enhancements.