LoveBook, is a dating-focused application, revolving around providing serial daters with a convenient and enjoyable tool to enhance their dating experiences. Featuring user preferences management, date organization, customizable filtering options and best match algorithms, LoveBook enhances the efficiency and effectiveness of your online dating journey.
| Term | Definition | 
|---|---|
| Date | A person that the user is interested in and is currently seeing. | 
| Metric | A certain characteristic of a date. (e.g. Gender, Height) | 
| Command | Text that the user types into the application to perform an action. | 
| Parameter | A value that the user provides to the application when executing a command. (e.g. in gender/MM is a parameter) | 
| GUI | Graphical User Interface | 
| CLI | Command Line Interface | 
| Mainstream OS | Windows, Linux, Unix, OS-X | 
| To provide you with relevant suggestions on how to use the commands as well as address potential confusions when using these commands. | |
| To inform you of some unintended or unexpected consequences that may occur when you use the commands. | 
Scroll back to Table of Contents
As you navigate through the application, you may come across certain symbols depicting your date's gender and horoscope. Here's a quick guide to help you understand what they mean.
| Gender | Symbol | 
|---|---|
| Male |  | 
| Female |  | 
| Horoscope | Symbol | Birthday Range | 
|---|---|---|
| Aries |  | March 21 - April 19 | 
| Taurus |  | April 20 - May 20 | 
| Gemini |  | May 21 - June 20 | 
| Cancer |  | June 21 - July 22 | 
| Leo |  | July 23 - August 22 | 
| Virgo |  | August 23 - September 22 | 
| Libra |  | September 23 - October 22 | 
| Scorpio |  | October 23 - November 21 | 
| Sagittarius |  | November 22 - December 21 | 
| Capricorn |  | December 22 - January 19 | 
| Aquarius |  | January 20 - February 18 | 
| Pisces |  | February 19 - March 20 | 
Scroll back to Table of Contents
11 or above installed in your Computer.LoveBook.jar from here. 
 If you're new to this program, the initial screen might appear a bit daunting. Don't fret; let's explore the various elements of the LoveBook interface together. We suggest enlarging the program window for a clearer perspective, allowing you to view more content.
Here's the detailed breakdown of the LoveBook screen: 
 
File and Help options. Click on File to access the Exit option.
Click on Help to access the Help option.Enter to execute the command.Now that you are familiar with the layout of LoveBook, we recommend you try the following steps to develop a feel for the core features of LoveBook.
So you've just started dating. How do you begin using this app?
Let's say you went out on a date with John. Throughout your date you find out key things about him, he's 123cm tall, earns 3k a month, his horoscope is Libra. Here you can add John to LoveBook using the add command:
In the command box, enter add name/John Doe age/21 gender/M height/123 income/3000 horoscope/Libra and press
the enter key.
This will add John to LoveBook. 
 
 
Let's imagine you've added a couple of dates to the LoveBook already. It should look something like this now: 
 
  With so many dates you might want to start keeping tabs on dates that are perhaps more exceptional. Fret not, star dates
as you go along
in your journey. Here you can star John for instance, using the star command:
Enter star 2.
This will star John. 
With so many dates, you might want to start filtering down to the metrics that matter. Perhaps you seek someone younger,
simply filter for
a specific age. Here you can filter for an age of 21 for instance, using the filter command:
Enter filter age/21.
This will filter for John. 
Well, maybe you are indecisive as a serial dater, and you want a third party opinion. Fret not, simply begin by keying
in your preferences using the
setPreferences command:
Enter setP age/22 height/130 income/3200 horoscope/Libra
This will set your preferences like so: 
And here it is, to get the match of your dreams, simply use the bestMatch command:
Enter bestMatch 
The tutorial shows you what a typical workflow might look like on LoveBook. Do continue to peruse the commands section which contains other commands that, while not worth covering in a quick start tutorial, are certainly important to using LoveBook as a whole. Here's to you embarking on your LoveBook journey!
Scroll back to Table of Contents
UPPER_CASE are the parameters to be supplied by the user.edit INDEX METRIC/NEW_ARG, INDEX, NEW_ARG and METRIC are parameters which can be used as
edit 2 income/3000.age/AGE [horoscope/HOROSCOPE] can be used as age/22 horoscope/ARIES or as age/22.name/NAME age/AGE, age/AGE name/NAME is also acceptable.star 9 is valid, but star 09 is invalidhelp, list, exit and clear)
will be ignored.help 123, it will be interpreted as help.The following table shows the list of metrics and their respective constraints.
| Metric | Prefix | Constraints | 
|---|---|---|
| Name | name/ | Name can only contain letters, numbers and spaces. It must not be left blank. | 
| Age | age/ | Age should be a positive integer between 18 and 150 (inclusive). | 
| Gender | gender/ | Gender should be either M or F. It is case sensitive. | 
| Height | height/ | Height should be a positive integer in cm between 100cm and 250cm (inclusive). | 
| Income | income/ | Income (per month) should be a positive integer in SGD less than or equal to a million. | 
| Horoscope | horoscope/ | Horoscope should be a valid zodiac sign. It is case insensitive. | 
addAdds a date to the LoveBook.
All parameters are compulsory.
The date added must have a unique name that is not already in the LoveBook.
Format: add name/NAME age/AGE gender/GENDER height/HEIGHT horoscope/HOROSCOPE income/INCOME
Example: add name/John Doe age/21 gender/M height/123 income/3000 horoscope/Libra
Expected output: New date added: John Doe; Age: 21; Gender: M; Height: 123; Income: 3000; Horoscope: LIBRA
Scroll back to Table of Contents
editEdits a date in the specified index in the LoveBook.
Format: edit INDEX [name/NAME] [age/AGE] [gender/GENDER] [height/HEIGHT] [income/INCOME] [horoscope/HOROSCOPE]
gender, age, horoscope, name, height, income only.Examples:
edit 1 name/John (editing 1 metric)edit 1 name/John horoscope/Cancer (editing 2 metrics)edit 1 horoscope/Cancer name/John (sequence doesn't matter)Expected Output: Edited Date: John; Age: 21; Gender: M; Height: 123; Income: 3000; Horoscope: LIBRA
Scroll back to Table of Contents
deleteDeletes the specified date from the LoveBook.
Format: delete INDEX
The index must be a positive integer, and be within the range of the recorded dates. For example, if there are 3 Dates in LoveBook, the indices are 1, 2 and 3.
Example: delete 1 
Expected output: Deleted Date: Ben Brown; Age: 21; Gender: F; Height: 194; Income: 6000; Horoscope: GEMINI
Scroll back to Table of Contents
listShows a list of all dates in the LoveBook.
Format: list 
Expected output: Listed all Dates
Scroll back to Table of Contents
clearClears all dates in the LoveBook.
This command is irreversible. All data will be lost. Please use this command with caution.
Format: clear
Expected output: LoveBook has been cleared!
Scroll back to Table of Contents
starStars a date in the LoveBook.
Format: star INDEX
Example: star 1
Expected output: Starred Date: John Doe; Age: 21; Gender: F; Height: 245; Income: 3000; Horoscope: LIBRA
Scroll back to Table of Contents
unstarUnstars a date in the LoveBook.
Format: unstar INDEX
The index must be a positive integer, and be within the range of the recorded dates. For example, if there are 3 Dates in LoveBook, the indices are 1, 2 and 3.
Example: unstar 1 
Expected output: Unstarred Date: John Doe; Age: 21; Gender: M; Height: 123; Income: 3000; Horoscope: LIBRA
Scroll back to Table of Contents
findFinds a date in the LoveBook by a specific name(s)
Format: find NAME [MORE_NAMES]
More names can be added to the command line, and the search will be conducted for all names provided.
Example:
find Cleonfind Cleon JohnExpected Output: Lists the dates with the name(s) specified
Scroll back to Table of Contents
filterFilters the dates in the LoveBook by a specific metric.
Format: filter METRIC/ARG
gender, age, name, height onlyfilter gender/M age/21filter xx gender/M works as well, where xx is not a metricWhen filtering dates by a valid metric and an invalid metric, the valid METRIC/ARG pair will be used to filter the dates. Note that the invalid metric will be ignored and there will be no checking of the validity of the invalid metric value.
Example:
filter name/Cleonfilter gender/Mfilter gender/M name/Cleonfilter hi gender/M (provides flexibility to the user in the case they mistype a metric)filter income/20 name/Cleon (this only returns dates with name Cleon since income is an invalid metric)Expected Output: Lists the dates with the valid metric values specified
Scroll back to Table of Contents
sortSorts the dates in the LoveBook by a specific metric.
Format: sort METRIC/ORDER
name/, age/, height/, income/ and horoscope/ only.increasing or decreasing only and is case-sensitive.When sorting dates by a field where both have an equal value, say Kevin and Wayne are sorted by income and both have an income of 2000, applying commands such as edit or star, can affect the stability of the sort. However, the overall sorting order by value is preserved.
Example:
sort name/increasingsort horoscope/decreasingsort xx income/decreasing, where xx is not a metric (provides flexibility to the user in the case they mistype a metric)Expected Output: Lists the dates in the order specified
Scroll back to Table of Contents
showPShows the User's Date Preference. This can be edited using the setP command.
Format: showP
Expected output: Here are your preferences: Age: 22; Height: 180; Income: 2000; Horoscope: TAURUS
Scroll back to Table of Contents
setPSets the user's preferences for the matching algorithm.
bestMatch command.age/AGEheight/HEIGHTincome/INCOMEhoroscope/HOROSCOPEFormat: setP [age/AGE] [height/HEIGHT] [income/INCOME] [horoscope/HOROSCOPE]
Example: setP age/22 height/180 income/2000 horoscope/TAURUS 
Expected output: Updated Preferences: Age: 22; Height: 180; Income: 2000; Horoscope: TAURUS
Scroll back to Table of Contents
bestMatchFilters out the most compatible date based on the set preferences.
Format: bestMatch 
Expected Output: Here's your best match!
Scroll back to Table of Contents
blindDateOutputs a random date from the LoveBook.
Format: blindDate 
 
  
 Expected Output: Here's a blind date for you!
Scroll back to Table of Contents
exitExits the program.
Format: exit
Expected output: Exiting LoveBook...
helpShows a window to bring user to the LoveBook User Guide.
Format: help 
Expected output: Opened help window.
Scroll back to Table of Contents
Q: How do I transfer my data to another Computer?
 A: Install the app in the other computer and overwrite the empty data file with the file that
contains the data of your previous LoveBook home folder.
Q: Is my data stored in the cloud? Will I be open to data breaches?
 A: No, all your data is stored locally, no need to fear a potential data hack.
Q: Do I have to save before exiting the application for my data to safely backed up on my computer? 
 A: All your data is saved on your computer as soon as you enter the command in. There is no need to manually save
your data. In the event of a power outage, all your data will be safe.
Q: Where do I go if I have issues with LoveBook? 
 A: You may leave your issues here.
Q: What happens if I enter invalid data into the stored data file? 
 A: LoveBook will clear all the existing data and reset to as it was when you installed it. It is highly discouraged
to manually edit the data file.
Q: How do I change my date's avatar? 
 A: Currently, the avatars are randomly selected from a pool of 9 avatars. We are working on a feature to allow users
to choose their own avatars.
Scroll back to Table of Contents
Commands are sorted by alphabetical order.
| Action | Format | Examples | 
|---|---|---|
| Adding a new date | add name/NAME age/AGE gender/GENDER height/HEIGHT horoscope/HOROSCOPE income/INCOME | add name/John age/25 gender/M height/175 horoscope/Aries income/5000 | 
| Getting a recommended date | bestMatch | bestMatch | 
| Getting a blind date | blindDate | blindDate | 
| Clearing all dates | clear | clear | 
| Deleting a date | delete INDEX | delete 2 | 
| Editing a date | edit INDEX [name/NAME] [age/AGE] [gender/GENDER] [height/HEIGHT] [income/INCOME] [horoscope/HOROSCOPE] | edit 3 name/Cleon | 
| Exiting the application | exit | exit | 
| Filtering dates by a certain metric | filter METRIC/ARG | filter name/Cleon | 
| Finding a date | find NAME [MORE_NAMES] | find Cleon | 
| Getting help | help | help | 
| Listing all dates | list | list | 
| Setting your date preferences | setP [age/AGE] [height/HEIGHT] [income/INCOME] [horoscope/HOROSCOPE] | setP age/22 height/180 income/2000 horoscope/TAURUS | 
| Showing your date preferences | showP | showP | 
| Sorting dates by a certain metric | sort METRIC/ORDER | sort name/increasing | 
| Starring a date | star INDEX | star 1 | 
| Unstarring a date | unstar INDEX | unstar 1 | 
Scroll back to Table of Contents