WatchNext User Guide

1. Introduction

WatchNext is a show tracker made for teenagers and young adults.



1.a. What is WatchNext? [Jazhten]

WatchNext is a show tracker designed for users who watch their favourite shows on multiple free streaming platforms and other open source streaming websites. WatchNext records your progress for the different shows you are currently watching, and even for upcoming shows that you plan to watch.
It additionally serves as a tracker to limit your daily watch time to help you better manage your time.
For students, WatchNext serves the same purpose of tracking your learning progress for lectures and webcasts.

1.b. Why use WatchNext? [Jazhten]

It can be difficult and taxing to track your favourite shows through browser bookmarks. This is especially pertinent for younger teenagers and adults who make up a large part of video entertainment media consumers.

For students like ourselves, there is also a need to manually track lecture videos and webcast progress as lecturers may use different learning management systems.


This motivated our team to create an application that would not only help track all your shows and lectures, but also foster a community where everyone will be able to share their watchlist with like-minded individuals and friends.

WatchNext is optimized for users who prefer to work with the Command Line Interface (CLI).

1.c. What will this guide do?

This guide aims to equip you with the knowledge on how to use our application by providing you with detailed examples for all of WatchNext’s features. The features can be found in Section 4: “Features”.

Interested in using WatchNext? Jump to Section 2: “Quick Start” to get started now!

1.d. How to use this guide? [Shikai]

Links like this help you navigate to different parts of the document.

Text that are in a monospace font represent either the user input or the program output.

[NOTE] The notes section contains additional information that may be helpful to you if you encounter any issues.

2. Quick Start [Shikai]

Prerequisite: Ensure that you have Java 11 installed in your Computer.

  1. Download the latest version from here.

  2. Copy the file to the folder you want to use as the home folder for your program.

  3. Open a command window in that folder.

  4. Run the command java -jar WatchNext.jar.

  5. You will be greeted with this:

 

If you are unfamiliar with the CLI (Command Line Interface), do give this helpful guide by Princeton a quick read!

3. Command Format

4. Features

4.a. help and example - Provides a condensed help list (Benardo Tang)

The help command provides a list which contains information about all the possible accepted commands.

Format: help

Example of usage: Let’s say you want a quick description of each available command in WatchNext. Simply typing help will display a condensed list of each command and description to you.

Expected outcome:

 

[NOTE]

To supplement the help command, The example command provides the correct format for every command available in WatchNext.

Format: example

Expected outcome:

 

[NOTE]

4.b. add - Adds a show [Jazhten]

The add command adds a show into your existing watchlist.

Format: add <SHOWNAME> <NUMBER OF SEASONS> <NUMBER OF EPISODES PER SEASON> <DURATION OF EPISODE>

Examples of usage: add RunningMan 2 10,12 90
add Friends 3 10,20,30 25

Explanation of input:
For the example input, add Friends 3 10,20,30 25, a show named Friends is being added.
The show has 3 seasons, where season 1 has 10 episodes, season 2 has 20 and season 3 has 30 episodes.

[NOTE] Note that the 10,20 and 30 are separated by commas without spaces in between.

The duration of each episode is 25 minutes.
 

After keying in the input as shown in the image above, you should see th expected output shown in the next image.

 

If you see the outcome as pictured above, it means that the show has been successfully added to WatchNext.

If you already have an entry with the same name in your list, the program will display the following prompt:

This action will overwrite your existing data. Continue? (y/n)

If you want to replace your current entry, enter y. If you would like to keep your current entry, enter n.

After this, the program will carry on based on your reply.

If you replied y you should see this:

________________________________________________________________________________
Friends was added to your watchlist.


If you replied n:

________________________________________________________________________________
The process is terminated. Your existing data is kept

[NOTE]

4.c. edit - Edits your show details [Shikai]

The edit command allows you to edit the name of the show, number of seasons, number of episodes, or the duration of an episode depending on the input of the user when prompted.

Format: name <SHOWNAME>, season <NUMBER OF SEASONS>, episode <NUMBER OF EPISODES PER SEASON,SEPERATED BY COMMAS>, duration <DURATION OF EPISODE>

[NOTE]

Example of usage: name F.r.i.e.n.d.s

Example of usage: season 2

Example of usage: episode 10,11

Example of usage: duration 30

Example of usage: done

Expected outcome:

 

[NOTE]

4.d. list - Displays all your shows in the list

The list command displays all existing shows in your watchlist in an easy-to-read format, including the episode and season that you are currently at.

The rating of your show will also be shown if you have added it using the addreview command.

Format: list

Example of usage: list

Expected outcome:

 

[NOTE]

4.e. addreview - Adding a review [Bryan Beh]

The addreview command allows you to add a review for a show, including adding a rating.

Format: addreview <SHOWNAME> <RATING> / <REVIEW>

[NOTE]

Example of usage: addreview Friends 9 / very funny

Expected outcome:

 

Checking with the list command:

4.f. changereview - Changing a review [Bryan Beh]

The changereview command allows you to change a review for a show that is already in the show list.

Format: changereview <SHOWNAME> / <REVIEW>

[NOTE]

Example of usage: changereview friends / very unfunny

Expected outcome:

Checking with the list command:

4.g. deletereview - Deletes a review [Bryan Beh]

The deletereview command allows you to delete a review for a show that is already in the show list.

Format: deletereview <SHOWNAME>

Example of usage: deletereview Friends

Expected outcome:

4.h. delete - Deletes your show [Chen Jiqing]

The delete command removes a specified show from the watchlist.

Format: delete <SHOWNAME>

Example of usage:

If you want to delete the show named Friends, you can input the command: delete Friends.

Input:



The show Friends will be deleted from the list ,and a success message will be printed.

Expected outcome :

 

4.i. deleterating - Deletes rating of your show [Bryan Beh]

The deleterating command deletes the rating for an existing show in the watchlist.

Format: deleterating <SHOWNAME>

Example of usage: deleterating Friends

Expected outcome:


4.j. changerating - Changes rating of your show [Bryan Beh]

The changerating command changes the rating for an existing show which already has a rating in the watchlist.

Format: changerating <SHOWNAME> <NEWRATING>

[NOTE]

Example of usage: changerating Friends 9

Expected outcome:

 

Checking with the list command :

4.k. season - Changes the season of the show you are currently watching [Chen Jiqing]

The season command updates the current season of an existing show in your watchlist.

[NOTE]

If you would only like to change the current season: Format: season <SHOWNAME> <SEASON>

Example of usage:

If your are going to watch the third season of a show named Friends, you can input season Friends 3.

Input:

 

The current season you are watching of Friends will be updated to season 3.

Expected outcome :



If you would like to change both the current season and current episode:

Format: season <SHOWNAME> <SEASON> <EPISODE>

4.l. episode - Changes the episode of the show you are currently watching [Chen Jiqing]

The episode command updates the current episode of an existing show in your watchlist.

[NOTE]

Format: episode <SHOWNAME> <EPISODE>

Example of usage:

In the current season, If your are going to watch the 10th episode of the show named Friends, you can input a command: episode Friends 10.

Input:



The current episode you are watch of the show Friends will be updated to 10.

[NOTE]

Expected outcome for the example:

 

4.m. Managing your watch time limit

WatchNext allows you to set and track your daily watch time with its two commands , watch and updatetimelimit.

4.m.a. watch - Watch a show in your list (Benardo Tang)

The watch command updates the watching progress for your show, and automatically updates your watch time limit.

Format: watch <SHOWNAME>

Example of usage: watch Friends

[NOTE]

Explanation of input: Assuming Friends has already been added into the watch list, we use the example input watch Friends.

Before input:

 

To illustrate the change in your watch time limit, we have added the time limit to 120 minutes. The duration of Friends is 60 minutes. the change in time limit can be seen in the expected outcome below.

Expected outcome:

 

Note from the expected outcome that the show WatchHistory has been updated from S1E1 to S1E2. That is because you have told the program that you have watched S1E1 of Friends, and are now watching S1E2 of Friends!

In addition, the previously set time limit of 120 minutes has been reduced to 60 minutes.

4.m.b. updatetimelimit - update your watch time limit (Benardo Tang)

The updatetimelimit command updates your daily watch time limit.

Format: updatetimelimit <DURATION LIMIT>

Example of usage: Let’s say you want to set your daily watch time limit to 120 minutes, or 2 hours. If you have not set your watch time limit yet, your application will look like this on startup:


 

Note the prompt above the red line, which signals to the user that the time limit has not been set yet.

Now, we input updatetimelimit 120 into the application. which updates your daily limit to 120 minutes.

Expected outcome:

 

[NOTE]

As seen from the expected outcome, you now have a limit of 2 hours to spend on watching shows.To use the allocated limit, use the watch command above.

If you have used up your allocated time, a prompt will be displayed to you as seen below:

 

If you have exceeded your allocated time, a prompt will be displayed to you as seen below:

 

The underlined portion shows the prompt to the user, and the circled portion details the amount of time that the user has exceeded.

[NOTE]

4.n. search - search a show in the watchlist [Chen Jiqing]

The search command helps you search for a specific show in the watchlist and prints out the show information.

Format: search <SHOWNAME>

Example of usage:

If you want to search a show named Friends in the list, you can use the command: search Friends.

[NOTE]

Input:

 

If the show is exist in the list, the details of the show will be printed out.

Expected output:

 

4.o. bye - Exits the program

The bye command exits the program.

Format: bye

Example of usage: bye

Expected outcome:

 

5. FAQ [Chen Jiqing]


Q: Is my watchlist saved after I exit the program?

A: Of course! The watchlist is saved into a local storage file after every input entered by the user.The same file will be loaded up when you start WatchNext again.

Q: Where can I find the watchlist file if I want to share it with my friends?

A: The file will be stored in the same path as the jar file, inside the “data” folder. Look for data/userData.txt.

Q: Can I edit my watchlist directly in the local file?

A: Yes, it is possible but not recommended. The save file stores the data in a specific format. If the format is not consistent, WatchList will be unable to load up file. Your stored shows may disappear.

Q: What should I do if there was an error while I was typing in some input?

A: It depends on the nature of the error. WatchNext provides insightful error messages which will inform and guide you on any actions necessary.

Q: What format should I use if I want to track my lectures?

A: We suggest you try add <MODULENAME> <TOPICS> <NUMBER OF LECTURES PER TOPIC,SEPERATED BY COMMAS> <DURATION OF LECTURE>.However, feel free to be creative and think of any format that suits you!


6. Command Summary

This section showcases the list of available features and usage examples for your reference.

Action Format Example
Display help help help
Display command format example example
Add show add <SHOWNAME> <SEASON> <NUMBER OF EPISODES>,<EPISODE YOU ARE WATCHING> <DURATION OF EPISODE> add Friends 2 10,10 90
Edit show edit <SHOWNAME> edit Friends
Add review addreview <SHOWNAME> <RATING> / <REVIEW> addreview Friends 9 / very funny
Change review changereview <SHOWNAME> / <REVIEW> changereview Friends / very unfunny
Delete review deletereview <SHOWNAME> deletereview Friends
Show watchlist list list
Delete show delete <SHOWNAME> delete Friends
Change rating changerating <SHOWNAME> <NEWSCORE> changerating Friends 9
Delete rating deleterating <SHOWNAME> deleterating Friends
Update episode episode <SHOWNAME> <EPISODE> episode Friends 10
Update season season <SHOWNAME> <SEASON> season Friends 3
Watch a show watch <SHOWNAME> watch Friends
Update watch time limit updatetimelimit <DURATION LIMIT> updatetimelimit 120
Search a show search <SHOWNAME> search Friends
Exit program bye bye