By: Team W10-2
Since: Aug 2018
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features (Does Not Require Login)
- 3.1. Viewing help :
help
- 3.2. Listing all restaurants :
list
- 3.3. Locating restaurants by name:
find
- 3.4. Listing entered commands :
history
- 3.5. Selecting a restaurant :
selectRestaurant
- 3.6. Selecting a restaurant :
selectOther
- 3.7. Signing Up for a Makan Book Account:
signup
- 3.8. Exiting the program :
exit
- 3.1. Viewing help :
- 4. Features (Requires Login)
- 4.1. Log In into an existing Makan Book Account:
login
- 4.2. Log Out of an existing Session:
logout
- 4.3. Write Review For Restaurant:
writeReview
- 4.4. Display User Profile:
displayProfile
- 4.5. Adding friends:
addFriend
- 4.6. Accept friend request:
acceptFriend
- 4.7. Delete friend request:
deleteFriendRequest
- 4.8. Delete friend:
deleteFriend
- 4.9. List friend requests:
listFriendRequests
- 4.10. List friends:
listFriends
- 4.11. Adding groups:
addGroup
- 4.12. Adding members:
addMembers
- 4.13. Accepting group requests:
acceptGroup
- 4.14. Deleting group requests:
deleteGroupRequest
- 4.15. Deleting groups:
deleteGroup
- 4.16. List group requests:
listGroupRequests
- 4.17. List groups:
listGroups
- 4.18. Finding people to eat with:
createJio
- 4.19. Joining an existing jio:
joinJio
- 4.20. Deleting old jios:
deleteJio
- 4.21. List jios:
listJio
- 4.22. Sent add debt request:
addDebt
- 4.23. Sent add debt request to a group
addGroupDebt
- 4.24. Sent clear debt request:
clearDebt
- 4.25. Accept debt request:
acceptDebtRequest
- 4.26. Delete debt request:
deleteDebtRequest
- 4.27. List all login user’s creditor
listCreditor
- 4.28. List all login user’s debtor
listDebtor
- 4.29. List all login user’s debt request received
listDebtRequestReceived
- 4.30. List all login user’s debt request sent
listDebtRequestSent
- 4.31. List all login user’s debt history
listDebtor
- 4.32. Block unavailable timeslot manually:
blockDate
- 4.33. Free timeslot manually:
freeDate
- 4.34. See free Time:
listScheduleForWeek
- 4.35. Find common group meeting times:
findDates
- 4.1. Log In into an existing Makan Book Account:
- 5. Administrator Level Features
- 5.1. Adding a restaurant:
add
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS] - 5.2. Deleting a restaurant :
delete
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS] - 5.3. Editing a restaurant :
edit
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS] - 5.4. Clearing all entries :
clear
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS] - 5.5. Undoing previous command :
undo
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS] - 5.6. Redoing the previously undone command :
redo
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS]
- 5.1. Adding a restaurant:
- 6. Changes coming in v2.0
- 7. FAQ
- 8. Command Summary
1. Introduction
Makan Book is for those who prefer to use a desktop app to search for restaurants within NUS to eat at alone or with friends. More importantly, MakanBook 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). MakanBook also allows users to add and manage friends and groups, start private and public jios and so much more! Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!
2. Quick Start
-
Ensure you have Java version
9
or later installed in your Computer. -
Download the latest
makanbook.jar
here. -
Copy the file to the folder you want to use as the home folder for your Makan Book.
-
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. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
list
: lists all restaurants -
signup
u/johnnydoe pwd/pAssw0rd n/John Doe p/98765432 e/johnd@example.com
: Sign Up for an account in the Makan Book. Allows you to use Makan Book’s many features -
exit
: exits the app
-
-
Refer to Section 3, “Features (Does Not Require Login)” for details of each command.
3. Features (Does Not Require Login)
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/Waa Cow
. -
Items in square brackets are optional e.g
n/NAME [u/USERNAME]
can be used asn/Waa Cow u/navekom
or asn/Waa Cow
. -
Items with
…
after them can be used multiple times including zero times e.g.[u/USERNAME]…
can representu/navekom
,u/katespade u/themyth
etc. -
Parameters can be in any order e.g. if the command specifies
u/USERNAME pwd/PASSWORD
,pwd/PASSWORD u/USERNAME
is also acceptable.
Makan Book data is saved in the hard disk automatically after any command that changes the data. |
3.1. Viewing help : help
Format: help
3.2. Listing all restaurants : list
Shows a list of all restaurants in the makan book.
Format: list
3.3. Locating restaurants by name: find
Finds restaurants whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
Examples:
-
find Waa Lao
ReturnsWaa Cow
andLao Ban
-
find Din Tai Fung
Returns any restaurant having namesDin
,Tai
, orFung
3.4. Listing entered commands : history
Lists all the commands that you have entered in reverse chronological order.
Format: history
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
3.5. Selecting a restaurant : selectRestaurant
Selects the restaurant identified by the index number used in the displayed restaurant list. It will display the webpage of the restaurant
which contains it’s details, overall rating and reviews written by users
Format: selectRestaurant INDEX
Examples:
-
list
selectRestaurant 2
Selects the 2nd restaurant in the address book. -
find Hwangs
selectRestaurant 1
Selects the 1st restaurant in the results of thefind
command.
3.6. Selecting a restaurant : selectOther
Selects the item (Friend, Group, Debt, Request, Jio) identified by the index number used in the displayed item list (the second list panel). It will display details of the item
which varies based on the item selected (eg. Jio contains name, date, address, people)
Format: selectOther INDEX
Examples:
-
listJio
selectOther 2
Selects the 2nd jio in the address book. -
listGroups
selectOther 1
Selects the 1st group in the address book.
3.7. Signing Up for a Makan Book Account: signup
Allows a User to create an account for use in the Makan Book. Automatic log in upon sign up.
Format: signup u/USERNAME pwd/PASSWORD n/NAME p/PHONE_NUMBER e/EMAIL
Example:
-
signup u/davemyth pwd/pwd123123 n/Dave Batik p/92225822 e/davebaumb@gmail.com
3.8. Exiting the program : exit
Exits the program.
Format: exit
4. Features (Requires Login)
4.1. Log In into an existing Makan Book Account: login
Allows a User to log into an existing account in the Makan Book.
Format: login u/USERNAME pwd/PASSWORD
Example:
-
login u/davemyth pwd/pwd123123
4.2. Log Out of an existing Session: logout
Allows a User to log out of an existing session.
Format: logout
4.3. Write Review For Restaurant: writeReview
Allows user to write a review for a specific restaurant.
Format: writeReview INDEX rate/RATING rvw/REVIEW
Examples:
-
writeReview 3 rate/3 rvw/The food is not the best, but definitely value for money!
4.4. Display User Profile: displayProfile
Allows a user to view his own profile in the Makan Book. The browser panel will then contains the user’s details and
the reviews he’s written.
Format: displayProfile
4.5. Adding friends: addFriend
A User will send a friend request to another User who will then have to accept the friend request.
Format: addFriend u/USERNAME
Examples:
-
addFriend u/meena567
4.6. Accept friend request: acceptFriend
A User can accept a friend request of another User so that the pair of them can become friends.
Format: acceptFriend u/USERNAME
Examples:
-
acceptFriend u/meena567
4.7. Delete friend request: deleteFriendRequest
A User can delete friend request of another User whom they might not know.
Format: deleteFriendRequest u/USERNAME
Examples:
-
deleteFriendRequest u/meena567
4.8. Delete friend: deleteFriend
A User can delete friend whom they may no longer want to be friends with.
Format: deleteFriend u/USERNAME
Examples:
-
deleteFriend u/meena567
4.9. List friend requests: listFriendRequests
A User can list friend requests that they have received. Only the party that did not initiate the friend request will receive the friend request
Format: listFriendRequests
4.10. List friends: listFriends
A User can list their friends.
Format: listFriends
4.11. Adding groups: addGroup
A User will create a group by specifying the group name.
Format: addGroup g/GROUPNAME
Examples:
-
addGroup g/CS2103
4.12. Adding members: addMembers
A User already in the group can add members to a particular group by specifying the group name and the usernames of the users they wish to add to that group.
Format: addMembers g/GROUPNAME [Users u/USERNAMES]…
Examples:
-
addMembers g/CS2103 u/chelchia u/evanmok2401 u/katenhy u/yewwoei
4.13. Accepting group requests: acceptGroup
A User can accept the invitation to join a group.
Format: acceptGroup g/GROUPNAME
Examples:
-
acceptGroup g/CS2103
4.14. Deleting group requests: deleteGroupRequest
A User can choose to delete the group request should they not want to join the group.
Format: deleteGroupRequest g/GROUPNAME
Examples:
-
deleteGroupRequest g/CS2103
4.15. Deleting groups: deleteGroup
A User can leave a group and they will be removed from the group.
Format: deleteGroup g/GROUPNAME
Examples:
-
deleteGroup g/CS2103
4.16. List group requests: listGroupRequests
A User can list group requests that they have received.
Format: listGroupRequests
4.17. List groups: listGroups
A User can list groups that they are a part of.
Format: listGroups
4.18. Finding people to eat with: createJio
Users can find other users to eat with through inviting users. “createJio” creates a jio that is added to the global list of jios.
Format: createJio n/NAME w/WEEK d/DAY h/TIME a/PLACE [g/GROUP NAME]
Examples:
-
createJio n/MALA w/1 d/mon h/1200 a/FineFood
-
createJio n/saporeFriends w/1 d/mon h/1800 a/Sapore g/2103
4.19. Joining an existing jio: joinJio
Examples:
Users can join an existing jio to find people to eat with, without having to create one of their own.
Format: joinJio n/NAME
Examples:
-
joinJio n/MALA
4.20. Deleting old jios: deleteJio
Users can specify a jio to delete. Only the creator of a jio can delete the jio.
Format: deleteJio n/NAME
Examples:
-
deleteJio n/MALA
4.21. List jios: listJio
Lists all jios created by all users, so that user can see which one to join.
Format: listJio
4.22. Sent add debt request: addDebt
User(Creditor) send a debt request to another user with specific amount.
Record will be created between two users with a Pending
status.
Format: addDebt u/USERNAME amt/AMOUNT
Examples:
-
addDebt u/katespades amt/4.30
4.23. Sent add debt request to a group addGroupDebt
User(Creditor) send a debt request to all other users in the group with specific amount.
with amount will split equally to everyone in the group.
Record will be created between with a Pending
status.
Format: addGroupDebt g/GROUP amt/AMOUNT
Examples:
-
addGroupDebt g/CS2103 amt/4.30
4.24. Sent clear debt request: clearDebt
User(Creditor) clear amount between users. If the amount is equal to the debt,
the status will change to Cleared
. Otherwise, the amount will be balanced off from the debt.
Format: clearDebt u/NAME amt/AMOUNT
Examples:
-
clearDebt u/katespades amt/4.30
4.25. Accept debt request: acceptDebtRequest
User(Debtor) accept request from another user(Creditor). The debt status will change
from Pending
to Accepted
. If there are any other accepted debt between this two
users, the debt will balanced off as one debt record.
Format: acceptDebtRequest u/NAME amt/AMOUNT id/ID
ID is unique and should copy from the Debt Card in UI when you test it
Examples:
-
acceptDebtRequest u/katespades amt/4.30 id/18103013460314(copy from UI)
4.26. Delete debt request: deleteDebtRequest
User(Debtor) delete/reject request send by other user if it is a wrong request.
Format: deleteDebtRequest u/USERNAME amt/AMOUNT id/ID
ID is unique and should copy from the Debt Card in UI when you test it
Examples:
-
deleteDebtRequest u/Kate123 amt/4.30 id/18103013460314(copy from UI)
4.27. List all login user’s creditor listCreditor
List all creditor of the login user in list panel.
Format: listCreditor
4.28. List all login user’s debtor listDebtor
List all debtor of the login user in list panel.
Format: listDebtor
4.29. List all login user’s debt request received listDebtRequestReceived
List all debt request received by login user from other user in list panel.
Format: listDebtRequestReceived
4.30. List all login user’s debt request sent listDebtRequestSent
List all debt request sent by login user to other user in list panel.
Format: listDebtRequestSent
4.31. List all login user’s debt history listDebtor
List all debt history(regardless of status) of the login user in list panel.
Format: listDebtor
4.32. Block unavailable timeslot manually: blockDate
Blocks out that timeslot in the user’s schedule to signify that he is busy and not available to eat.
Weeks only range from 1-6, recess, 7-13, reading, 15, 16
Format: blockDate w/WEEKNUMBER d/DAY h/HHHH
Examples:
-
blockDate w/5 d/tue h/1800
4.33. Free timeslot manually: freeDate
Frees up that timeslot in the user’s schedule to signify that he is free and available to eat.
Format: freeDate w/recess d/DAY h/HHHH
Examples:
-
freeDate w/5 d/wed h/1800
4.34. See free Time: listScheduleForWeek
Views the list of free time to eat on a NUS week according to your calendar.
Format: listScheduleForWeek w/WEEK_NUMBER
Examples:
-
listScheduleForWeek w/5
4.35. Find common group meeting times: findDates
Views the available times to meet in your group. You must be a part of a group and the group name stated must exist.
Format: findDates g/GROUP_NAME w/WEEK_NUMBER
Examples:
-
findDates g/2103 w/5
5. Administrator Level Features
5.1. Adding a restaurant: add
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS]
Adds a restaurant to the address book
Format: add n/NAME p/PHONE_NUMBER a/ADDRESS [t/TAG]…
A restaurant can have any number of tags (including 0) |
Examples:
-
add n/Macdonalds p/6231 8837 a/Engineering Block Eg 4
-
add n/Japanese Delights t/Halal a/Engineering Canteen EG5 #02-01 t/Japanese
5.2. Deleting a restaurant : delete
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS]
Deletes the specified restaurant from the address book.
Format: delete INDEX
Examples:
-
list
delete 2
Deletes the 2nd restaurant in the address book. -
find Hwangs
delete 1
Deletes the 1st restaurant in the results of thefind
command.
5.3. Editing a restaurant : edit
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS]
Edits an existing restaurant in the address book.
Format: edit INDEX [n/NAME] [p/PHONE] [a/ADDRESS] [t/TAG]…
Examples:
-
edit 1 p/91234567 e/macdonalds@example.com
Edits the phone number and email address of the 1st restaurant to be91234567
andmacdonalds@example.com
respectively. -
edit 2 n/Hwangs t/
Edits the name of the 2nd restaurant to beHwangs
and clears all existing tags.
5.4. Clearing all entries : clear
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS]
Clears all entries from the address book.
Format: clear
5.5. Undoing previous command : undo
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS]
Restores the address book to the state before the previous undoable command was executed.
Format: undo
Undoable commands: those commands that modify the address book’s content ( |
Examples:
-
delete 1
list
undo
(reverses thedelete 1
command) -
selectRestaurant 1
list
undo
Theundo
command fails as there are no undoable commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
5.6. Redoing the previously undone command : redo
[DEPRECIATED, DO NOT USE, ONLY FOR ADMINISTRATORS]
Reverses the most recent undo
command.
Format: redo
Examples:
-
delete 1
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command) -
delete 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command)
redo
(reapplies theclear
command)
6. Changes coming in v2.0
6.1. Restriction of Privileges to Makan Book
Currently, all users are can add, delete, edit and make changes to restaurants in the makan book even if the User Guide says otherwise. This can affect all other users.
6.1.1. Creation of Administrator Account
To prevent this, administrator accounts will be created. Only administrators will have the ability to call commands that modify the restaurants in Makan book.
6.1.2. Allowing Users to suggest restaurants to be added into Makan Book
To allow users to suggest restaurants outside of NUS to be included to the Makan Book. This would be sent to the administrators for review. Administrators can choose to add these restaurants for all users in the Makan Book.
6.2. New Features in v2.0
6.2.1. List Visited Restaurant: listVisitedRestaurants
Lists the restaurants a user has visited.
Format: listVisitedRestaurants
6.2.2. Add Visited Restaurant: addVisitedRestaurants
Allows user to add a restaurant into his visited restaurant list with date, price, rating/score and meal consumed.
Format: addVisitedRestaurants INDEX t/DATE p/PRICE r/SCORE rvw/WRITTEN_REVIEW m/MEAL_CONSUMED
Examples:
-
addVisitedRestaurants 3 t/2011-11-11 p/3.70 r/4 rvw/Value for money indeed m/Lemon Chicken Rice
6.2.3. Add Favourites: addFavourite
Allows User to add a restaurant into his account’s favourites.
Format: addFavourite INDEX
Examples:
-
addFavourite 3
6.2.4. List Favourites: listFavourites
Allows User to list the restaurants he has entered into his favourites.
Format: listFavourites
6.2.5. Find common timeslots with friends: findTime
Find common eating timeslots with a list of friends.
Format: findTime [w/week number] [u/USERNAME]…
6.3. Find jios that fit a user’s timetable for a given NUS academic week: findJio
Views the list of free time to eat on those dates.
Format: findJio w/WEEKNUMBER
Examples:
-
findJio w/8
6.3.1. Add NUSMODS schedule to block out calendar: addNUSMODS
Block out schedules on the timetable using a NUSMODS link.
Format: addNUSMODS NUSMODSLINK
Examples:
-
addCalendar nusmods.com/g91j3g08sdgl13
6.3.2. Add Google Calendar schedule to block out calendar: addCalendar
Block out schedules on the timetable using a google account.
Format: addCalendar USERNAME PASSWORD
Examples:
-
addCalendar aiden@gmail.com aidenpassword
7. 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 Makan Book folder.
8. Command Summary
8.1. Commands that do not require log in of User
-
Find :
find KEYWORD [MORE_KEYWORDS]
e.g.find Waa Lao
-
List :
list
-
List Jio :
listJio
e.g.listJio
-
Help :
help
-
selectRestaurant :
selectRestaurant INDEX
e.g.selectRestaurant 2
-
History :
history
-
Sign Up :
signup u/USERNAME pwd/PASSWORD n/NAME p/PHONE_NUMBER e/EMAIL
e.g.signup u/johnnydoe pwd/pAssw0rd n/John Doe p/98765432 e/johnd@example.com
-
Login :
login u/USERNAME pwd/PASSWORD
e.g.login u/navekom pwd/pwwd123
8.2. Commands that require log in of User
-
Logout :
logout
-
Write a Review :
writeReview INDEX rate/RATING rvw/WRITTEN_REVIEW
e.g.writeReview 2 rate/5 rvw/I tried the Salmon Mentaiko Chirashi and it was amazing.
-
Display User Profile:
displayProfile
-
selectOther :
selectOther INDEX
e.g.selectOther 2
-
Add Friend :
addFriend u/USERNAME
e.g.addFriend u/meena567
-
Accept Friend Request :
acceptFriend u/USERNAME
e.g.acceptFriend u/meena567
-
Delete Friend Request :
deleteFriendRequest u/USERNAME
e.g.deleteFriendRequest u/meena567
-
Delete Friend :
deleteFriend u/USERNAME
e.g.deleteFriend u/meena567
-
List Friend Requests :
listFriendRequests
-
List Friends :
listFriends
-
Add Group :
addGroup g/GROUP_NAME
e.g. addGroup g/CS2103 -
Add Members :
addMembers g/GROUP_NAME [u/USERNAME]…
e.g. addMembers g/CS2103 u/thejrlinguist u/meena567 -
Accept Group :
acceptGroup g/GROUP_NAME
e.g. acceptGroup g/CS2103 -
Delete Group Request :
deleteGroupRequest g/GROUP_NAME
e.g. deleteGroupRequest g/CS2103 -
Delete Group :
deleteGroup g/GROUP_NAME
e.g. deleteGroup g/CS2103 -
List Group Requests :
listGroupRequests
-
List Groups :
listGroups
-
Create Jio :
createJio
e.g.createJio n/MALA w/1 d/mon h/1200 a/FineFood
e.g.createJio n/saporeFriends w/1 d/mon h/1800 a/Sapore g/mygroup
-
Join Jio :
joinJio
e.g.joinJio n/MALA
-
Delete Jio :
deleteJio
e.g.deleteJio n/MALA
-
Add Debt :
addDebt u/USERNAME amt/AMOUNT
e.g.addDebt u/katespades amt/2.3
-
Add Group Debt :
addGroupDebt g/GROUP_NAME amt/AMOUNT
e.g.addGroupDebt g/2103 amt/27
-
Clear Debt :
clearDebt u/USERNAME amt/AMOUNT
e.g.clearDebt u/katespades amt/1.3
-
Accept Debt Request :
acceptDebtRequest u/USERNAME amt/AMOUNT id/DEBTID
e.g.acceptDebtRequest u/katespades amt/7.9 id/181030224951280
-
Delete Debt Request :
deleteDebtRequest u/USERNAME amt/AMOUNT id/DEBTID
e.g.deleteDebtRequest u/katespades amt/7.9 id/181030224951280
-
List Creditor :
listCreditor
-
List Debtor :
listDebtor
-
List Debt Request Received :
listDebtRequestReceived
-
List Debt Request Sent :
listDebtRequestSent
-
List Debt History :
listDebtHistory
-
Block Date :
blockDate w/WEEKNUMBER d/DAY h/HHHH
e.g.blockDate w/reading d/thu h/1800
-
Free Date :
freeDate w/WEEK_NUMBER d/DAY h/HHHH
e.g.freeDate w/11 d/tue h/0600
-
List User’s Free Timeslots for a Week :
listScheduleForWeek w/WEEK_NUMBER
e.g.listScheduleForWeek w/6
-
List free timeslots for your group for a week :
findDates g/GROUP_NAME w/WEEK_NUMBER
e.g.findDates g/2103 w/reading
8.3. Depreciated Commands
-
Add
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
e.g.add n/Macdonalds p/6231 8837 a/Engineering Block Eg 4 t/FastFood t/Halal
-
Clear :
clear
-
Delete :
delete INDEX
e.g.delete 3
-
Edit :
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…
e.g.edit 2 n/James Lee e/jameslee@example.com
-
Undo :
undo
-
Redo :
redo