By: Team CS2103T-F13-4
Since: Sept 2019
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. User-Interface
- 3.2. Advanced Features
- 3.3. User Commands
- 3.3.1. View help :
help
- 3.3.2. Add a show:
add
- 3.3.3. Adding a show from search result page:
add
- 3.3.4. Clear the WatchList:
clear
- 3.3.5. Mark/Unmark as watched :
watch
- 3.3.6. Edit a show’s details :
edit
- 3.3.7. Search for a show:
search
- 3.3.8. Synchronise user's show data:
sync
- 3.3.9. Deleting a show :
delete
- 3.3.10. Exiting the program :
exit
- 3.3.11. Saving the data
- 3.3.1. View help :
- 4. FAQ
- 5. Command Summary
1. Introduction
Tired of using multiple sources on the internet to keep track of all your movies and tv shows that you want to watch? EzWatchlist is a solution to your entertainment problems!
EzWatchList
is an application is for cinephiles who prefer to use a desktop for managing movies and tv shows. More importantly, EzWatchList
is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
-
If you can type fast,
EzWatchList
works faster than traditional GUI apps. -
Keep track of movies and tv shows that you plan to watch or have watched.
-
Access quick information about your favourite shows through our online database.
-
Discover your personal movie habits, with our statistics page.
-
Can’t find any good shows to watch? We will give you recommendations on what to watch based on your
EzWatchlist
usage.
Already interested? Jump to Section 2, “Quick Start” to quickly get started. Enjoy!
1.1. What else does EzWatchlist offer you?
-
Integration with an online database of shows, allowing you to search and get information about shows.
-
Functions and works without internet.
-
No installations required.
-
Auto-saves all data.
-
Dual-purpose interface, command line interface for those who prefer typing and graphical for those who prefer using a mouse.
1.2. How do I use EzWatchlist?
EzWatchlist was built with ease in mind hence our interface reflects this design philosophy.
1.2.1. Navigation
EzWatchlist is split into four different pages:
-
Watchlist, where shows you want to watch are added.
-
Watchedlist, where shows you have watched are located.
-
Search, where you search for shows both online and offline.
-
Statistics, where information about your viewing habits are shown.
This pages are represented by the sidebar panel shown visibly in Figure 1. Navigate between pages by using keyboard shortcuts 1, 2, 3, 4 respectively or through a button press on the graphical interface.
1.2.2. Interaction
EzWatchlist uses Commands entered through the command line interface in figure 2 to interact with the application.
Typing a command into the interface and entering it (by pressing Enter or clicking Go!
) is the main way of interaction in the application.
The following is an example of adding a movie into your watch list:
Steps to quickly add a movie
-
search
n/ip man
: Searched for movie namedip man
in the offline and online database which will bring you to the search page automatically.
-
add
2
: Adds "Ip Man" (2008) shown in entry 2 in Figure 3 into your watchlist.
And that’s it. Our quick start guide will guide you to set up our application. If you like to learn more head straight into our features guide for a run down on our major features, or go to our commands guide to learn more on our commands. Otherwise, if you’re a developer and are interested to understand how each of our features were implemented, our developer guide breaks down each of our major components.
What are you waiting for? Start using EzWatchlist
now!
2. Quick Start
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
ezwatchlist.jar
here. -
Copy the file to the folder you want to use as the home folder for your watchlist.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Interact with
EzWatchlist
with commands in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
add
n/Titanic t/movie
: adds themovie
namedTitanic
to the Watchlist. -
delete
3
: deletes the 3rd movie shown in either watch or watched page. -
exit
: exits the app
-
-
Refer to Section 3.3, “User Commands” for details of each command.
3. Features
3.1. User-Interface
The UI consists of three parts: sidebar, command bar and various pages that could appear in the main panel. The following sections introduce these UI parts in details.
3.1.1. Sidebar
EzWatchlist gives users the ability to navigate easily through the Watchlist, Watchedlist, Search page and Statistics pages through the use of the side bar at the left of the main page of the graphical user interface. Moreover, keyboard shortcuts 1, 2, 3, 4 bring you to each page respectively.
Note: If user has selected the command box, type 1, 2, 3, 4 and enter to bring you to each page respectively.
3.1.2. Command bar
Users input commands in the command bar and any feedback will be displayed below the text area of command bar.
3.1.3. Watchlist Page
The watchlist page is the default page that is opened upon start-up of EzWatchlist
.
It shows the user’s unwatched movies and television series.
The user can navigate to this list by clicking the “Watchlist” tab on the side bar or by using the keyboard short-cut 1
.
Characteristics of the watchlist page:
-
Movie/TV show poster
-
Name of show
-
Genres
-
Actors
-
Description of the show
-
Running Time
-
Last watched episode (For TV series that have been updated using the
watch
command) -
Checkbox to indicate if the show has been watched
3.1.4. Watched List Page
The user has the option to view the list of shows that have been marked as watched in the watched list. The user can navigate to this list by clicking the “Watched” tab on the side bar or by using the keyboard short-cut 2
.
3.1.5. Search Page
The user can navigate to the search page to find a specific movie or television by searching for its name. The user can navigate to this list by clicking the “Search” tab on the side bar or by using the keyboard short-cut 3
.
The search function may require some time to load the data from the API. |
3.1.6. Statistics Page
The user can navigate to the statistics page to find a summary of his watching habits, preferences and history according to what is present in his lists. Examples include:
-
Movies added but might have forgotten to watch
-
Up to 3 most favourite genres
-
Recommendations
The user can navigate to this list by clicking the “Statistics” tab on the side bar or by using the keyboard short-cut 4
.
The statistics function may require some time to load the data from the API the first time you start the application, or after you have made changes to your watchlist. |
3.1.7. Details Page (Coming in v2.0)
Upon clicking a movie or tv show title, a pop-up window will emerge, with a detailed view of the movie or tv show. This page provides the user with more information about the show, like the year, cast and ratings. The user also has the ability to edit the details here.
3.2. Advanced Features
3.2.1. Parsing of Movie and Tv Show Information
In EzWatchlist, an online database is accessed so that all the information about your favourite Movies and Television Shows is updated, informative, and concise. What this means for you is that:
-
Posters of your EzWatchlist shows, can be displayed in EzWatchlist’s sleek dark interface.
-
Moreover, your offline shows can be synced with this database allowing the application to fill in the minor details for you.
-
Unsure of what actors played in your favourite movie? EzWatchlist will find that information for you.
3.2.2. Movie and Tv Show Recommendations
EzWatchlist has the ability to recommend Movies and TvShows to you based on your EzWatchlist usage. EzWatchlist will create your own personalized recommendations for you.
How to get your recommendations
-
First, make sure that you have added at least one (offline or online) into
EzWatchlist
so that we can use that to generate recommendations for you. -
Then head to the Statistics Page by clicking 4 or pressing the
Statistics.
button on the in the interface. -
Now your recommendations as seen in Figure 5 will be shown prominently on the bottom of the Statistics Page, with movie recommendations on the left, and Tv Series recommendations on the right.
3.2.3. Auto-Correct (Coming in v2.0)
EzWatchlist aims to provide a smooth experience for our typing users. All typing in EzWatchlist will be automatically corrected for you when typing in your commands.
3.3. User Commands
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd n/SHOW_NAME t/SHOW_TYPE
,SHOW_NAME
andSHOW_TYPE
are parameters which can be used asadd n/The Angry Birds Movie 2 t/movie
. -
Items in square brackets are optional e.g
n/SHOW_NAME t/SHOW_TYPE [s/DESCRIPTION]
can be used asn/The Angry Birds Movie t/movie 2 d/Oscar-worthy
or asn/The Angry Birds Movie t/movie
. -
Items with
…
after them can be used multiple times including zero times e.g.[a/ACTOR]…
can be used asa/Leonardo Di Carpio
,a/Leonardo Di Carpio a/Christian Bale
etc. -
Parameters can be in any order e.g. if the command specifies
n/SHOW_NAME t/SHOW_TYPE
,t/SHOW_TYPE n/SHOW_NAME
is also acceptable.
3.3.1. View help : help
Format: help
3.3.2. Add a show: add
User can add a show they are interested to watch in the watchlist by using
add
command.
add can only work in Watchlist page and Watched page.
|
Format: add n/SHOW_NAME t/SHOW_TYPE [d/DATE_OF_RELEASE] [w/WATCHED] [r/RUNNING_TIME] [s/DESCRIPTION] [a/ACTOR_NAME]…
-
Only
SHOW_NAME
,SHOW_TYPE
are compulsory fields. Rest is optional. -
SHOW_TYPE
can only be 'movie' or 'tv' -
WATCHED
can only be 'true' or 'false' -
SHOW_NAME
,DESCRIPTION
andACTOR_NAME
can be any words -
DATE_OF_RELEASE
must be in the format dd/MM/yyyy -
RUNNING_TIME
can be any number above 0 -
ACTOR_NAME
can be more than one.
Examples:
-
add n/Titanic t/movie
-
add n/Friends t/tv
-
add n/John Wick t/movie d/24/10/014 w/false r/101 s/An ex-hit-man comes out of retirement to track down the gangsters that killed his dog and took everything from him. a/Keanu Reeves
-
add n/Joker t/movie d/3/10/2019 w/false r/122 s/In Gotham City, mentally-troubled comedian Arthur Fleck is disregarded and mistreated by society. He then embarks on a downward spiral of revolution and bloody crime. This path brings him face-to-face with his alter-ego: "The Joker". a/Joaquin Phoenix
3.3.3. Adding a show from search result page: add
This is an extension to the add
feature.
After user has searched from the show, user can add a show found in the search result page into their watchlist.
Format: add INDEX
INDEX is a positive integer and is limited to the number of shows found in search result page.
This add command can only be used if user is currently at search page , and has already searched for show using the search online command.
|
Example Usage:
Pre-condition: User has already searched for a show using search online command.
Step 1. User click (or use keyboard 3
key) on search page. User then input add 1
on command box.
Step 2. User click (or press keyboard 1
key) on watch list page. User will see Joker
movie added to watch list.
3.3.4. Clear the WatchList: clear
Clear the WatchList
Format: clear
3.3.5. Mark/Unmark as watched : watch
To mark an unwatched show in the watchlist as watched, use the command format listed below.
Format: watch INDEX [e/EPISODE_NUMBER] [s/SEASON_NUMBER]
Before marking TV show’s seasons and episodes, you may want to use the sync
command to ensure that the TV show’s season and episode details are up to date.
|
Example Usage:
-
You want to mark "The Office" in the watchlist page as watched. Navigate to the watchlist by clicking on the watchlist tab or hitting the keyboard shortcut
1
.
-
Enter
watch 1
into the command box in the watchlist tab.
-
You may now view the show under the watched tab by clicking the watched tab or hitting the keyboard shortcut 2.
Alternatively, you may click on the watched checkbox to toggle between whether a show is watched as indicated by the red arrow in the image below.
Using the watch command on an already watched show will un-mark the show as watched.
|
watch would only work in Watchlist page and Watched page.
|
Examples:
-
watch 1
Marks/un-marks the first show of the list as watched. -
watch 2 e/20
Marks the first 20 episodes of the second show of the list as watched. -
watch 2 s/5
Marks all episodes of the first 5 seasons of the second show as watched. -
watch 3 s/5 e/2
Marks all episodes up to and including the second episode of the fifth season of the third show in the list as watched.
3.3.6. Edit a show’s details : edit
Edits an existing show in the list
Format: edit INDEX [n/SHOW_NAME] [d/DATE_OF_RELEASE] [w/WATCHED] [r/RUNNING_TIME] [s/DESCRIPTION] [a/ACTOR]…
edit would only work in Watchlist page and Watched page.
|
Examples:
-
edit 1 n/Joker a/Joaquin Phoenix
Edits the name and actor name of the 1st show in the list to beJoker
andJoaquin Phoenix
respectively. -
edit 2 a/
Clears all existing actors of the 2nd show in the list.
3.3.7. Search for a show: search
Searches for shows whose names contain any of the given keywords from the online database, unless specified to be from
the watchlist or watched list.
Format:
-
by name:
search n/SHOW_NAME… [g/GENRE]… [a/ACTOR_NAME]… [o/FROM_ONLINE] [t/SHOW_TYPE] [w/HAS_WATCHED]
-
by genre:
search g/GENRE… [n/SHOW_NAME]… [a/ACTOR_NAME]… [o/FROM_ONLINE] [t/SHOW_TYPE] [w/HAS_WATCHED]
-
by actor (from watchlist only):
search a/ACTOR_NAME… [n/SHOW_NAME]… [g/GENRE]… [o/FROM_ONLINE] [t/SHOW_TYPE] [w/HAS_WATCHED]
-
SHOW_NAME
,GENRE
,ACTOR_NAME
can be any words, as long as it does not contain/
. -
FROM_ONLINE
andHAS_WATCHED
can only beyes
,true
,no
orfalse
. -
SHOW_TYPE
can only bemovie
ortv
.
-
Special commands to take note of:o/no : to search from watchlist or watched listo/no w/no : to search from watchlist onlyo/no w/yes : to search from watched list only
|
When searching based on genre online, only movies will be searched. For [o/FROM_ONLINE] [t/SHOW_TYPE] [w/HAS_WATCHED] , if multiple entries are entered, only the last would be considered. e.g. "search n/Avengers t/movie t/tv" will be interpreted as "search n/Avengers t/tv".Space between prefix and slash is not acceptable. e.g. "n /Avengers" will throw an error. Space after prefix is acceptable. e.g. "n/ Avengers" will be interpreted as "n/Avengers". |
The search is case insensitive. e.g "avengers" will match "Avengers". The order of the keywords matter. e.g. "Chris Evans" will not match "Evans Chris". Not only full words will be matched. e.g. "Joke" will also match with "Joker". |
Example Usage:
You may want to search for movies named "Avengers" and also movies with an actor named "Tom".
As shown below, assume that your watchlist only has a movie "Avengers: Endgame" that you have watched.
-
Navigate to the Search page by one of the following ways:
-
clicking on the search tab
-
hitting the keyboard shortcut 3
-
typing
3
in the command box and pressing enter -
typing
search
in the command box and pressing enter as shown in the figure below
-
search
command
After you have entered the command, you will be led to the Search page as shown below.
You may skip Step 1 as you will be automatically be navigated to the Search Page when you key in any valid search
command, such as the one in Step 2 below.
|
-
Enters
search n/Avengers a/Tom t/movie
into the command box in the Search Page as shown below.
search
command to search for shows
Press enter after entering the information shown above and wait for the information to load.
The loading page as shown above will appear while EzWatchlist searches for your shows.
You can go to the other pages in the mean time. Do allow some time for the search to load. |
-
Search page shows the list of shows based on
search n/Avengers a/Tom t/movie
.
Scenario A: You are offline
Only movies from the watchlist or offline database with the movie name "Avengers" or actor name "Tom" will be shown,
as seen in the figure below.
Scenario B: You are online
Only movies from the online database with the movie name "Avengers" or actor name "Tom" will be shown, as seen in the
figure below.
Examples:
-
By name:
-
search n/Joker o/no
Returns shows with the name "Joker" within the watchlist -
search n/Avengers g/Science Fiction t/movie n/Spiderman
(If online) Returns movies from the online database with the name "Avenger" or "Spiderman" and movies with the genre "Science Fiction"
(If offline) Returns movies from the internal database, watchlist and watched-list with the name "Avenger" or "Spiderman" and movies with the genre "Science Fiction"
-
-
By genre:
-
search g/Action t/movie
(If online) Returns movies from the online database with the genre "Action"
(If offline) Returns movies from the internal database, watchlist and watched-list with the genre "Action"
-
-
By actor: (from watchlist only)
-
search a/Tom o/no w/no
Returns shows within the watchlist with actor named "Tom"
-
3.3.8. Synchronise user's show data: sync
If user has lack of information about a certain show in their watch list, User can use sync
command.
Synchronise, sync
, command will transfer all the information about a certain show (for example: show A) found in
search result page with a show (for example: show A') that has the same name as Show A found in watch list.
Note:
-
The show in the watch list must have at least a name and type.
-
Names are not-case sensitive.
-
Sync
will WRITE OVER all the information of show with same name found in watchlist.
Format: sync INDEX
INDEX is a positive integer and is limited to the number of shows found in search result page.
Example Usage
Scenario 1: User has already input 'Titanic' show into watchlist manually.
Step 1. User searches for Titanic
show in search page.
Step 2. Titanic
result page will be displayed. User input sync 2
to synchronise movie at index 2 of the list with a movie
of same name found in watchlist.
Step 3. Go to watchlist. New information of Titanic
in watchlist will be displayed.
Scenario 2. User has not input Titanic show into watchlist manually.
Step 1. Similar to scenario 1, user searches for Titanic
show in search page.
Step 2. Titanic
result page will be displayed. If user were to sync any index, error message will be displayed
because there is no show of similar name found in watch list.
Step 3. User can choose to use add 1
command to add show of index 1 found in search result page.
3.3.9. Deleting a show : delete
Deletes the specified show from the watchlist.
Format: delete INDEX
delete would only work in Watchlist page and Watched page.
|
Examples:
-
delete 2
Deletes the 2nd show in the watchlist. -
search Angry
delete 1
Deletes the 1st show in the results of thesearch
command.
3.3.10. Exiting the program : exit
Exits the program.
Format: exit
3.3.11. Saving the data
EzWatchlist’s data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
4. FAQ
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous EzWatchlist folder.
5. Command Summary
-
Add :
add n/SHOW_NAME t/SHOW_TYPE [d/DATE_OF_RELEASE] [w/WATCHED] [r/RUNNING_TIME] [s/DESCRIPTION] [a/ACTOR_NAME]
e.g.add n/John Wick t/movie d/24 OCTOBER 2014 w/false r/101 s/An ex-hit-man comes out of retirement to track down the gangsters that killed his dog and took everything from him. a/Keanu Reeves
-
Add from search result page :
add INDEX
e.g.add 1
-
Sync :
sync INDEX
e.g.sync 2
-
Clear :
clear
-
Watch :
watch INDEX [e/EPISODE_NUMBER] [s/SEASON_NUMBER]
-
Delete :
delete INDEX
e.g.delete 3
-
Edit :
edit INDEX [n/SHOW_NAME] [d/DATE_OF_RELEASE] [w/WATCHED] [r/RUNNING_TIME] [s/DESCRIPTION] [a/ACTOR]…
e.g.edit 2 n/John Wick a/Johnny Depp
-
Search
-
by name :
search n/SHOW_NAME… [g/GENRE]… [a/ACTOR_NAME]… [o/FROM_ONLINE] [t/TYPE] [w/IS_WATCH]
e.g.search n/Joker o/no
searches for shows with the name 'Joker' within the watchlist -
by genre :
search g/GENRE… [n/SHOW_NAME]… [a/ACTOR_NAME]… [o/FROM_ONLINE] [t/TYPE] [w/IS_WATCH]
e.g.search g/Action t/movie
searches for movies from the online database with the genre 'Action' -
by actor from watchlist :
search a/ACTOR_NAME… [n/SHOW_NAME]… [g/GENRE]… [o/FROM_ONLINE] [t/TYPE] [w/IS_WATCH]
e.g.search a/Tom
searches from shows within the watchlist with actor named 'Tom'
-
-
Exit :
exit
-
Help :
help