EasyWeds is a desktop app designed for freelance wedding planners juggling multiple weddings. You can use EasyWeds to streamline planning by centralising vendor and client information and keeping every wedding detail organised. If you are adept at typing, EasyWeds empowers you to access and update your planning data swiftly.
Here are EasyWeds' main features:
Ensure you have Java 17 or above installed in your computer.
Choose the installation package depending on your device: Mac, Windows or Linux
Tip: Refer to this Tutorial for help with installing Java.
Download the latest .jar file from here.
Copy the file to the folder you want to use as the home folder for your EasyWeds.
Open a command terminal, cd into the folder you put the jar file in, and use the java -jar easyweds.jar command to run the application.
A Graphic User Interface (GUI) similar to the screenshot below should appear in a few seconds. Note how the app contains some sample data.
Type the command in the command box and press Enter to execute it. e.g. typing help and pressing Enter will open the help window.
Some example commands you can try:
list: Lists all persons and wedding events.
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 r/Photographer: Adds a contact named John Doe to the contact book in EasyWeds.
delete 3: Deletes the 3rd contact shown in the current list.
clear: Deletes entire contact book (both persons and wedding events).
exit: Exits the app.
Refer to the Features below for details of each command.
Tip: Refer to FAQ for help on setting up.
In this guide, the following terms are used:
When you launch EasyWeds, EasyWeds appears on your screen as a Graphical User Interface, or GUI. Let’s look at the layout of the different components of EasyWeds.
EasyWed’s GUI consists of a single main window, as well as the Help Window. The main window consists of four components:
The following picture of the main window shows the four components, numbered accordingly:
Besides the main window, EasyWeds also has the Help Window. It is not part of the main GUI and is only shown after a Help Command is run.
Notes about the command format:
Press 'TAB' to auto-complete the command you are typing in the command box.
e.g. if you type ad and press 'TAB', it will auto-complete to add and if you press it again it will auto-complete to addWedding and if you press it again it will auto-complete to addTask.
Words in UPPER_CASE are the parameters to be supplied by the user.
e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.
Items in square brackets are optional.
e.g edit 1 n/NAME [r/ROLE] can be used as edit 1 n/John Doe r/Florist or as edit 1 n/John Doe.
Parameters can be in any order.
e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.
Extraneous parameters for commands that do not take in parameters (such as help, list, exit and clear) will be ignored.
e.g. if the command specifies help 123, it will be interpreted as help.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
helpShows a message explaining how to access the help page.
Format: help
Tip: Click on the "Go To User Guide" button and the User Guide will be opened in your default browser.
addAdds a person to the contact book.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS r/ROLE
n/, p/, e/, a/, r/, include a \ before the delimiter.
add n/John p/Doe p/98765432 ... will not be accepted due to a duplicate delimiter p/. Instead, use add n/John \p/Doe p/98765432 ... to denote that "/p" is indeed part of the name.Examples:
add n/John Doe p/87654321 e/johnd@example.com a/John street, block 123, #01-01 r/Photographer
This command adds a person named John Doe with the phone number 87654321, email johnd@example.com, address John street, block 123, #01-01, and role Photographer.
add n/Betsy Crowe r/Florist e/betsycrowe@example.com a/Blk 321 Clementi West St 1 p/12345678
This command adds a person named Betsy Crowe with the role Florist, email betsycrowe@example.com, address Blk 321 Clementi West St 1, and phone number 12345678.
editEdits an existing person in the contact book.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/ROLE]
INDEX. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …Examples:
edit 1 p/91234567 e/johndoe@example.com
This command edits the phone number and the email address of the 1st person to be 91234567 and johndoe@example.com respectively.
edit 2 n/Betsy Crower r/photographer
This command edits the name and the role of the 2nd person to be Betsy Crower and photographer respectively.
deleteDeletes the specified person from the contact book.
Format: delete INDEX
INDEX.Examples:
list
delete 2
This command deletes the 2nd person in the contact book.
find Betsy
delete 1
This command deletes the 1st person in the results of the find command.
findFinds persons whose names or roles contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
hans will match HansHans Bo will match Bo HansHan will not match HansOR search).
e.g. Hans Bo will return Hans Gruber, Bo YangTip: In order for the 'find' by role command to be effective, ensure that you use the same noun for the same type of role (e.g. please do not call one person 'florist' and another person 'flower maker' and instead choose to give the same role to both)
addWeddingAdds a wedding event to the contact book.
Format: addWedding n/NAME d/DATE l/LOCATION
n/, d/, l/, include a \ before the delimiter.
addWedding n/John & Jane d/ Doe's Wedding d/20-May-2026 l/Marina Bay Sands will not be accepted due to a duplicate delimiter /d. Instead, use addWedding n/John & Jane \d/ Doe's Wedding d/20-May-2026 l/Marina Bay Sands to denote that d/ is indeed part of the name.MMM format, only the first letter should be capitalized (e.g. Jan, Feb).Examples:
addWedding n/John & Jane's Wedding d/20-May-2026 l/Marina Bay Sands
This command adds a wedding event named John & Jane's Wedding on 20-May-2026 at Marina Bay Sands.
editWeddingEdits an existing wedding event in the contact book.
Format: editWedding WEDDING_ID [n/NAME] [d/DATE] [l/LOCATION]
WEDDING_ID.Examples:
editWedding W1 d/20-Jun-2026 l/Marina Bay Sands
This command edits the date and location of the 1st wedding event to be 20-Jun-2026 and Marina Bay Sands respectively.
editWedding W2 n/John & Jane's Wedding
This command edits the name of the 2nd wedding event to be John & Jane's Wedding.
deleteWeddingDeletes the specified wedding event from the contact book.
Format: deleteWedding WEDDING_ID
WEDDING_ID.sortWIDShows a list of all wedding events in the contact book sorted by increasing Wedding ID.
Format: sortWID
sortWDateShows a list of all wedding events in the contact book sorted by date, from earliest to latest.
Format: sortWDate
addTaskAdds a new task to a specified wedding event.
Format: addTask w/WEDDING_ID desc/TASK_DESCRIPTION
WEDDING_ID.Examples:
addTask w/W1 desc/Book florist
This command adds a new task Book Florist to the wedding event W1.
listTaskShows a list of all tasks of a specified wedding event in the output box.
Format: listTask w/WEDDING_ID
markMarks a specified task of a specified wedding event as completed.
Format: mark w/WEDDING_ID i/TASK_INDEX
INDEX from the wedding event specified by WEDDING_ID as completed.WEDDING_ID is the unique identifier of the wedding event.unmarkMarks a specified task of a specified wedding as not completed.
Format: unmark w/WEDDING_ID i/TASK_INDEX
INDEX from the wedding event specified by WEDDING_ID as not completed.WEDDING_ID is the unique identifier of the wedding event.Examples:
unmark w/W1 i/1
This command marks the task at index 1 of the wedding event W1 as not completed.
deleteTaskDeletes the specified task from a specified wedding event.
Format: deleteTask w/WEDDING_ID i/TASK_INDEX
INDEX from the wedding task list of the wedding event specified by WEDDING_ID.WEDDING_ID is the unique identifier of the wedding event.Examples:
deleteTask w/W1 i/1
This command deletes a task at index 1 from the wedding task list of the wedding event W1.
tagTags an existing contact to an existing wedding event.
Format: tag INDEX WEDDING_ID
INDEX to the wedding event specified by WEDDING_ID.WEDDING_ID is the unique identifier of the wedding event.untagUntags an existing contact from an existing wedding event.
Format: untag INDEX WEDDING_ID
INDEX from the wedding event specified by WEDDING_ID.WEDDING_ID is the unique identifier of the wedding event.Examples:
untag 1 W1
This command untags the first person from the wedding event W1
filterFilters contacts related to a specified wedding ID.
Format: filter WEDDING_ID
WEDDING_IDWEDDING_ID will be displayed in the list of weddings.listShows a list of all persons and weddings in the contact book.
Format: list
Tip: Remember to use list to show the full contact book again after you used find and filter.
clearClears all entries from the contact book.
Format: clear
Tip: In order to prevent you from accidentally clearing the contact book (which is unrecoverable), we have included a Confirmation Check similar to adding duplicates.
EasyWeds data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
EasyWeds data are saved automatically as a JSON file: [JAR file location]/data/addressbook.json. Advanced users are welcome to update data directly by editing that data file.
Caution:
As much as you are able to manually edit the details of contacts and wedding events, you are strongly advised against editing the weddingIDs in the data file as this will very likely cause the application to behave in unexpected ways.
If your changes to the data file make its format invalid, EasyWeds will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause EasyWeds to behave in unexpected ways (e.g. if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
exitExits the program.
Format: exit
"How do I know if I have Java installed or what version I have?"
java -version"What is the home folder and where do I copy the file?"
"How do I open a command terminal and navigate to a folder?"
On Windows:
Press Win + R, type cmd, and press Enter to open the command prompt.
Use the cd command to navigate to your folder. For example, if your file is on the Desktop, type:
cd Desktop
On MacOS:
Press Command + Space, type Terminal, and press Enter.
Use the cd command to navigate to your folder. For example, if your file is on the Desktop, type:
cd ~/Desktop
On Linux:
Open your terminal (typically found in Applications > Utilities or by pressing Ctrl + Alt + T).
Use the cd command to navigate to your folder. For example, if your file is in your home directory, type:
cd ~
"Why do I get an error when I try to run the command java -jar easyweds.jar."
Ensure that you have typed in the exact name of the .jar file. If the file was renamed, use that name in the command instead:
java -jar "<name_of_file>.jar"
"How do I transfer my data to another Computer?"
Install the app on the other computer and overwrite the empty data file it creates with the file that contains the data of your previous EasyWeds home folder.
"What is considered as a duplicate name?"
Alex Yeoh in the contacts (Refer to the image below), the following will be flagged out:
Alex Yeoh (exactly the same)alex<space>yeoh (no capitalization)Alex<space><space>Yeoh (extra spacing)Alex<space><space>yeoh (combination of the 2)"How do I make a confirmation or cancellation of my previous command?"
Once you receive the warning message, you can choose to either:
y which will add this Person into the contact list.preferences.json file created by the application before running the application again.help command (or use the Help menu, or the keyboard shortcut F1) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window.| Action | Format, Examples |
|---|---|
| Add Person | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS r/ROLE… e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 r/Photographer |
| Edit Person | edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/ROLE]…e.g., edit 2 n/James Lee e/jameslee@example.com |
| Delete Person | delete INDEXe.g., delete 3 |
| Find Person | find KEYWORD [MORE_KEYWORDS] e.g., find James Jake |
| Add Wedding | addWedding n/NAME d/DATE l/LOCATION e.g., addWedding n/John and Jane's Wedding d/20-Feb-2026 l/Marina Bay Sands |
| Edit Wedding | editWedding WEDDING_ID [n/NAME] [d/DATE] [l/LOCATION] e.g., editWedding W1 d/20-Feb-2026 l/Marina Bay Sands |
| Delete Wedding | deleteWedding WEDDING_ID e.g., deleteWedding W1 |
| Sort Wedding List by Id | sortWID |
| Sort Wedding List by Date | sortWDate |
| Add Task to a Wedding | addTask w/WEDDING_ID desc/TASK_DESCRIPTION e.g., addTask w/W1 desc/Book florist |
| List Tasks of a Wedding | listTask w/WEDDING_ID e.g., listTask w/W1 |
| Mark Task as Complete | mark w/WEDDING_ID i/TASK_INDEX e.g., mark w/W1 i/1 |
| Mark Task as Incomplete | unmark w/WEDDING_ID i/TASK_INDEX e.g., unmark w/W1 i/1 |
| Delete Task in a Wedding | deleteTask w/WEDDING_ID i/TASK_INDEX e.g., deleteTask w/W1 i/1 |
| Tag Wedding to a Person | tag INDEX WEDDING_ID e.g., tag 1 W1 |
| Untag Person from a Wedding | untag INDEX WEDDING_ID e.g., untag 1 W1 |
| Filter Details of a Wedding | filter WEDDING_ID e.g., filter W4 |
| List All Contacts & Weddings | list |
| Clear All Content | clear |
| Exit EasyWeds | exit |