User Guide
RealEstatePro is a desktop app for managing contacts, optimized for real estate agents to manage their client’s contacts and sales of HDB properties. The app also includes various tools which aims to help agents in their work.
Reference
Original AB3 User Guide: link
Table of contents
- Quick Start
- Features
- General Commands
- Client Management
- Tools
- Future Features
- Storage
- FAQ
- Command Summary
- Keyboard Shortcuts
- Glossary
Quick start
- Ensure you have Java
11
or above installed on your computer. - Download the latest
realestatepro.jar
from here. - Copy the file to the folder you want to use as the home folder for your RealEstatePro.
- Double-click the file to start the app. The GUI should appear in a few seconds.
- 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 client information. -
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 pr/north,123 Street,1-room,$300000
: Adds a client namedJohn Doe
, contact number98765432
, emailjohnd@example.com
, addressstreet, block 123, #01-01
owns the propertynorth,123 Street,1-room,$300000
and is a seller in the RealEstatePro app. -
delete 3
: Deletes the 3rd client shown in the current list. -
clear
: Deletes all client information. -
exit
: Exits the app.
-
- Refer to the Features below for details of each command.
Features
Notes about the command format:
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional.
e.g.n/NAME [pr/PROPERTY]
can be used asn/John Doe pr/north,123 Street,1-room,$300000
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times.
e.g.[p/PHONE_NUMBER]…
can be used as ` ` (i.e. 0 times),p/12345
,p/12345 p/54321
etc. -
Inputting information after
pr/
&p/
indicates the type of property a client is selling or buying.
e.g.pr/PROPERTY
can be used aspr/East, Block 123, 2-room, $550000
means this client is a seller looking to sell a 2-room property at Block 123 which is located in the East, with a price of $550000.
More information about the required format of properties can be found in the next section. -
client parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER pr/PROPERTY
,p/PHONE_NUMBER pr/PROPERTY n/NAME
is also acceptable. -
If a parameter is expected only once in the command, but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
Extraneous parameters for commands that do not take in parameters (such as
help
,list
,exit
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
Notes about the property and preference format:
-
Properties must be specified in the following format:
pr/REGION,ADDRESS,SIZE,PRICE
. Whitespace between parameters is ignored.
e.g. Bothpr/East,Pasir Ris Drive 1 Block 123,2-room,$550000
andpr/East, Pasir Ris Drive 1 Block 123, 2-room, $550000
are acceptable.pr/Pasir Ris Drive 1 Block 123, East, 2-room, $550000
is not acceptable. -
Preference must be specified in the following format:
pf/REGION,SIZE,LOWPRICE,HIGHPRICE
. Whitespace between parameters is ignored. -
Parameter formats:
- REGION: One of [
North
,South
,East
,West
,Central
] (Non case-sensitive). - ADDRESS: Any non-empty string that does not contain
,
. e.g.Pasir Ris Drive 1 Block 123
- SIZE: One of [
1-room
,2-room
,3-room
,4-room
,5-room
] (Non case-sensitive). - PRICE:
$
followed by a positive integer. e.g.$150000
- REGION: One of [
Notes about the image format:
- Image must be specified in the following format
i/FILEPATH:DESCRIPTION
. Make sure your file path is from the directory the jar file is run. Description is optional and can be omitted.
General Commands
Open Help Window: help
Opens a new window that displays information on how to use the app and a URL to the user guide of the app.
Format: help
Navigating the help window
- Link to the full user guide.
- Buttons to access the different help sections.
- Help contents.
Listing all clients : list
Shows a list of all clients in the address book.
Format: list
Clearing all entries : clear
Deletes all clients from the address book.
Format: clear
Exiting the program : exit
Exits the program.
Format: exit
Client Management
Adding a client: add
Adds a client to RealEstatePro.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [pr/PROPERTY]… [pf/PREFERENCE] [i/FILEPATH:DESCRIPTION]
buyer
, or seller
based on whether he has a property or a preference.
Examples:
add n/Betsy Crowe e/betsycrowe@example.com a/Newgate Prison p/1234567 pf/West, 1-room, $100000, $200000 i/living.png:living room
-
add n/John Doe p/98765432 e/johnd@example.com a/John street block 123 #01-01, pr/East, John street block 123 #01-01, 2-room, $200000
Editing a client: edit
Edits an existing client’s information in RealEstatePro.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [pr/PROPERTY]… [i/FILEPATH:DESCRIPTION]…
- Edits the client at the specified
INDEX
. The index refers to the index number shown in the displayed client list. The index must be a positive integer 1, 2, 3, … - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- Type of the client can be changed from
buyer
toseller
& vice versa by adding aProperty
or aPreference
which removes the client’s currentProperty
orPreference
. - You can remove all the client’s properties by typing
pr/
without specifying any properties after it.
Examples:
-
edit 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st client to be91234567
andjohndoe@example.com
respectively. -
edit 2 n/Betsy Crower p/1234567 pf/West, 1-room, $100000, $200000
Edits the name of the 2nd client to beBetsy Crower
and updates the 2nd client to have apreference
turning the 2nd client into abuyer
. -
edit 2 n/Betsy Crower pr/
Edits the name of the 2nd client to beBetsy Crower
and clears all existing properties. -
edit 2 i/Living.png:living room
Edits 2nd client to only haveLiving.png
and removes all other images.
Deleting a client: delete
Deletes the specified client from the address book.
Format: delete INDEX
- Deletes the client at the specified
INDEX
. - The index refers to the index number shown in the displayed client list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
list
followed bydelete 2
deletes the 2nd client in the address book. -
find Betsy
followed bydelete 1
deletes the 1st client in the results of thefind
command.
Note:
- Images associated with the client are not deleted and remains in the OS file system.
Favourite a client: favourite
Favourites the specified client in the RealEstatePro represented by a star as show below. The user (real estate agent) will be able to view a more compact list of favourited clients in a new window called Favourites window.
Format: favourite INDEX
- Favourites the client at the specified
INDEX
. - The index refers to the index number shown in the displayed client list.
- The index must be a positive integer 1, 2, 3, …
Open Favourites window: fw
Opens a new window that displays the compacted list of clients that have been favourited.
Format: fw
By Ui:
1) Navigate to the File
menu and click on it.
2) Under it, click on Favourites
.
3) The system will pop up the Favourites window that displays the compacted list of clients that have been favourited.
Locating clients by name: find
Finds clients whose specified attribute contain any of the given keywords.
Format: find ATTRIBUTE KEYWORD [MORE_KEYWORDS]
-
ATTRIBUTE
can be one of:all
name
phone
email
address
properties
preference
usertype
. - If the specified attribute is
all
, search for the keywords in all attributes. - The search is case-insensitive. e.g
hans
will matchHans
. - The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
. - Only full words will be matched e.g.
Han
will not matchHans
. - clients matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
.
Examples:
-
find name John
returnsjohn
andJohn Doe
-
find name sam elon
returnsSam Yeo
,Elon Musk
Sorting clients: sort
Sorts the list of clients displayed according to one or more keywords.
Format: sort [!]KEYWORD [[!]MORE_KEYWORDS]…
-
KEYWORD
can be one ofname
phone
email
address
favourite
usertype
num_property
(case-insensitive). - Prefixing a keyword with
!
will reverse the sorting order for that keyword. - If multiple keywords are specified, the list is sorted according to the order in which the keywords are specified, i.e., subsequent keywords are used to break ties after sorting by the previous keyword.
The following table shows the keywords and the default sorting behaviours:
Keyword | Default Behaviour |
---|---|
name |
Sort by Name alphabetically |
phone |
Sort by Phone numerically |
email |
Sort by Email lexicographically |
address |
Sort by Address lexicographically |
favourite |
Show favourites first |
usertype |
Show buyers first |
num_property |
Sort by number of Property
|
Examples:
-
sort address name phone
will sort the list byAddress
first. If there are entries with equalAddress
, the entries will be sorted byName
. If there are entries with equalAddress
andName
, they will be sorted byPhone
. -
sort !name
will sort the list according toName
in reverse alphabetical order, i.e.,Sam Yeo
will be listed beforeElon Musk
. -
sort favourite !name
will sort the list according toFavourite
, with favourites being listed first, followed by non-favourites. Within each group, entries are sorted according toName
in reverse alphabetical order. -
sort num_property
will sort the list according to the number of properties a client has. Buyers will be listed first since they have no properties.
Notes about sorting:
- Sorting is integrated with the find feature, i.e., sorting clients after using the
find
command will sort the filtered list. To sort the unfiltered list, reset the filter using thelist
command before using thesort
command. - Capitalization of alphabets is ignored, i.e.,
Aiken
andaiken
have the same priority when sorting alphabetically.
sort !usertype num_property
.
Tools
Matching properties and preferences: match
Opens a new window and shows all sellers and buyers with matching property and preference.
Format: match
Upload an Image : upload
Uploads an image and description to be associated with a client.
Format upload INDEX [i/FilePath:description]
- Adds an image to the client at the specified
INDEX
. - The index refers to the index number shown in the displayed client list.
- File path is from the directory the JAR file is ran from. e.g.
upload 1 i/example.png:living room
. - Description is optional and can be left blank e.g.
upload 1 i/example.png
. - multiple images can be uploaded at once by starting each file with a new flag e.g.
upload 1 i/example.png:living room i/example2.png:Bed Room
.
View image of client: viewimage
View images that are associated with a client in another window.
Format viewimage INDEX
Setting a Reminder for a client: remind
Sets a reminder for the specific client from the application. The user (real estate agent) will be able to view a more compact list of clients with reminders set, via a new window called the Reminder window.
Format: remind INDEX r/ReminderDetails
- Sets a Reminder for the client at the specified
INDEX
. - The index refers to the index number shown in the displayed client list.
- The index must be a postive integer 1, 2, 3, …
- The
ReminderDetails
must be a non-empty String, e.g.arrange home viewing
.
Open Reminder window: rm
Opens a new window that displays compacted list of clients that have Reminders set.
Format: rm
By Ui:
1) Navigate to the File
menu and click on it.
2) Under it, click on Reminders
.
3) The system will launch the Reminders
window that contains a list of clients the user has set Reminders for.
Displaying statistics: stats
Opens up a new window that shows a pie chart of the number of buyers & sellers with preference or properties respectively in a particular region.
Format: stats
Future Features [Coming soon]
- More types of sizes and increased details such as floor size, landed properties.
- Display statistics of the number of properties being sold/bought categorized by their room size to provide insight on the most popular number of rooms in a property.
- Display statistics of the prices of properties sold/bought to provide insight on the average property price sold/bought.
- Display statistics of lower price and higher price of preferences of clients to provide insight on the average asking price of a property.
- Allow images to be associated with properties or preferences to allow for better organization
Storage
Saving the data
RealEstatePro data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
RealEstatePro data are saved as a JSON file [JAR file location]/data/realestatepro.json
. Advanced users are welcome to update data directly by editing that data file.
FAQ
Command Summary
Action | Format | Examples |
---|---|---|
Add | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [pr/PROPERTY]… [pf/PREFERENCE] i/FILEPATH[:DESCRIPTION]… | e.g. add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 pr/East, John street block 123 #01-01, 2-room, $200000 i/living.png:Living room |
Clear | clear | - |
Delete | delete INDEX | e.g. delete 3 |
Edit | edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [pr/PROPERTY]… [i/FILEPATH[:DESCRIPTION]]… | e.g. edit 2 n/James Lee e/jameslee@example.com |
Find | find ATTRIBUTE KEYWORD [MORE KEYWORDS…] | e.g. find name James Jake |
Sort | sort [!]KEYWORD [[!]MORE_KEYWORDS]… | e.g. sort name !phone email |
Remind | remind INDEX r/reminderDetails | e.g. remind 1 r/home viewing |
Upload | upload INDEX i/FilePath[:Description]… | e.g. Upload 1 i/livingroom.png:Living room of 4-room flat |
viewimage | viewimage INDEX | e.g. viewimage 1 |
List | list | - |
Help | help | - |
Match | match | - |
Favourite | favourite INDEX | e.g., favourite 3 |
Favourites window | fw | - |
Statistics window | stats | - |
Reminder window | rm | - |
Keyboard Shortcuts
Key | Function |
---|---|
F1 | Opens Help Window |
F2 | Opens Statistics Window |
F3 | Opens Favourites Window |
F4 | Opens Reminders Window |
Glossary
- Users: Real estate agents.
- Clients: Customers of the real estate agents looking to buy or sell property.
- Buyers: Clients that have engaged the real estate agent to help them buy a property.
- Sellers: Clients that have engaged the real estate agent to help them sell their property.