By: T16-3
Since: Aug 2018
Licence: MIT
- 1. Introduction
- 2. Getting Started with BankAB
- 3. Features
- 4. FAQ
- 5. Command Summary
- 6. Appendix A: List of prefixes in the application
- 7. Appendix B: Privileges in accordance to priority level
Bank Address Book (BankAB) is a business process management and workflow application platform, whereby its users are all the employees in a banking environment. This platform supports the basic daily routine of each employee such as:
-
Checking working schedule
-
Applying for leave application
-
Checking in and out during working hours
The managers and administrators will have higher priority access level of BankAB such as changing the
priority level of the employee and approve or reject leave requests.
This user guide will give you step by step instruction on how you can use the features of BankAB.
-
Ensure you have Java version
9
or later installed in your Computer. Download -
Create a folder named
BankAB
in the desired location. -
Download the latest
BankAddressBook.jar
here into the folderBankAB
. -
Double-click the file to start the app. The GUI should appear in a few seconds.
-
If the app does not contain any sample data (refer to Table 1), something went wrong during the download process. Delete the folder
BankAB
and repeat step 1 to 4. -
The following table contains a sample list of employees with the respective account details when the application runs for the first time or when ResetCommand was executed in the previous runtime:
Name |
NRIC |
Password |
Priority Level |
Alex Yeoh |
S1234567E |
Password |
ADMINISTRATOR (Highest Priority level) |
Leonard Tan |
S1230000E |
Password |
I.T. UNIT |
Bernice Yu |
T1234567E |
Password |
MANAGER |
Charlotte Oliveiro |
F1234567E |
Password |
BASIC (Lowest Priority Level) |
-
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:
-
login ic/S1234567E pwd/Password
: Log in as Alex Yeoh, with a priority level of ADMINISTRATOR. -
list
: lists all contacts -
add n/John Doe ic/S9458861T pwd/Password p/98765432 e/johnd@example.com d/Junior Management a/311, Clementi Ave 2, #02-25 wr/7.5 t/friends t/owesMoney
: adds a contact namedJohn Doe
to the Address Book. -
schedule 2
: list the schedule of the 2nd employee in the address book -
exit
: exits the app
-
-
Refer to Features for details of each command.
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 [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
Using items without
…
after them multiple times will cause the app to either accept the last acceptable item or prompt an error message. -
Parameters can be in any order. e.g.: Specifying parameters in the order ic/NRIC n/NAME is identical to n/NAME ic/NRIC.
-
All the commands listed below requires user to login unless specified.
Logs in to the application using a registered NRIC and password.
Format: login ic/NRIC pwd/PASSWORD
Example: login ic/S1234567E pwd/Password
Prints whether this application is logged in.
Also prints the logged in NRIC if logged in.
Logs out of the application, allowing for other users to log in again.
Edits the existing particulars of the logged in user.
Format : edit [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
-
Edits the personal details of the user who is logged in.
-
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
-
When editing tags, the existing tags of the employee will be removed i.e adding of tags is not cumulative.
-
You can remove all the employee’s tags by typing
t/
without specifying any tags after it. -
You are able to edit the following fields for this command:
-
Name: n/NAME
-
Address: a/ADDRESS
-
Phone: p/PHONE_NUMBER
-
Email: e/EMAIL
-
Tag(s): t/TAG1 t/TAG2 …
-
ℹ️
|
This command will NOT be able to edit the following:
|
Examples:
-
edit p/91234567 e/johndoe@example.com
Sets the logged in employee’s details to the aforementioned email and phone number. -
edit t/friend t/lecturer n/John Doe
Sets the logged in employee’s details to the name of John Doe; clears all tag and sets the two aforementioned tags.
ℹ️
|
|
Adds an employee to the address book
Format: add n/NAME ic/NRIC pwd/PASSWORD p/PHONE_NUMBER e/EMAIL d/DEPARTMENT a/ADDRESS wr/WORKING_RATE [plvl/PRIORITY_LEVEL] [t/TAG]…
💡
|
|
Examples:
-
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 wr/7.5 d/Junior Management ic/T0249855I pwd/9EwciT plvl/1
-
add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Tower p/1234567 d/Senior Management t/Creditor ic/S1875858E pwd/Fed528F wr/10
ℹ️
|
This operation requires administrator privilege to perform. |
Deletes the specified employee from the address book.
Format: delete INDEX
-
Deletes the employee at the specified
INDEX
. -
The index refers to the index number shown in the displayed employee list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
delete 1
Deletes the employee with index 1 in the address book.
ℹ️
|
|
Sets the priority level of an employee at the specified index.
Format: setplvl INDEX plvl/PRIORITY_LEVEL
Example: setplvl 1 plvl/0
-
A successful change of priority level should show the following message:
-
Users of insufficient priority level (below administrator priority level) will get the following error message when attempting to execute this command:
-
Users (with sufficient priority level), that attempts to change their own priority level will not be allowed to do so:
ℹ️
|
|
Changes the department of an employee.
Format: setdepartment INDEX d/DEPARTMENT
Alias: sd
-
Changes the employee’s department at the specified
INDEX
. -
The index refers to the index number shown in the displayed employee list.
-
The index must be a positive integer 1, 2, 3, …
-
Refer to the Department section at Appendix A for the appropriate input for the department name.
Example: setdepartment 3 d/Junior Management
Request leave application of the user for approval.
Format: leave date/DATE
ℹ️
|
|
Example: leave date/20/11/2019
Requested leave application on 20/11/2019.
ℹ️
|
|
List out all leave application in the leave list.
Format: listleave
Returns all the leave application in the system.
ℹ️
|
|
Filter leave applications based on NRIC.
Format: filterleave NRIC
Alias: fl
ℹ️
|
|
Example:
filterleave F2058730E
List all leave application requested by the user with NRIC, 'F2058730E'.
Delete the specified leave from leave list.
ℹ️
|
|
Format: deleteleave INDEX
Alias: dl
-
Deletes the leave at the specified
INDEX
. -
The index refers to the index number shown in the displayed leave list.
-
The index must be a positive integer 1, 2, 3, …
Example:
deleteleave 1
Deletes the leave application with INDEX 1 in the leave list.
Approve the specified leave application from leave list.
ℹ️
|
|
Format: approve INDEX
-
Approve the leave at the specified
INDEX
. -
The index refers to the index number shown in the displayed leave list.
-
The index must be a positive integer 1, 2, 3, …
Example:
approve 2
Approve the leave application with INDEX 2 in the leave list.
Reject the specified leave application from leave list.
ℹ️
|
|
Format: reject INDEX
-
Reject the leave at the specified
INDEX
. -
The index refers to the index number shown in the displayed leave list.
-
The index must be a positive integer 1, 2, 3, …
Example:
reject 2
Reject the leave application with INDEX 2 in the leave list.
List schedule for the employee.
Format: schedule INDEX
-
Shows schedule at the specified
INDEX
. -
The index refers to the index number shown in the displayed leave list.
-
The index must be a positive integer 1, 2, 3, …
ℹ️
|
|
Example: schedule 1
-
Shows the schedule of employee with ID 1 in the list.
Set schedule of the employee.
Format: setschedule INDEX ts/TIME_START te/TIME_END v/VENUE
-
Set the schedule at the specified
INDEX
. -
The index refers to the index number shown in the displayed leave list.
-
The index must be a positive integer 1, 2, 3, …
-
TIME_START
andTIME_END
must be in HHMM 24 hour format
ℹ️
|
|
Examples:
-
setschedule 1 ts/1100 te/1600 v/Toilet
Sets a schedule for 1st user to work in Toilet
from 1100 hours to 1600 hours
-
setschedule 2 ts/2200 te/0800 v/Main Door
Sets a schedule for 2nd user to work at Main Door
from 2200 hours to 0800 hours of the following day
ℹ️
|
|
Shows a list of all employees in the address book.
Format: list
ℹ️
|
|
Finds employees whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g hans will match Hans
-
The order of the keywords does not matter. e.g. Hans Bo will match Bo Hans
-
Only the name is searched.
-
Only full words will be matched e.g. Han will not match Hans
-
Employees matching at least one keyword will be returned (i.e.
OR
search). e.g. Hans Bo will return Hans Gruber, Bo Yang
Examples:
-
find John
Returns john
and John Doe
-
find Betsy Tim John
Returns any employee having names Betsy
, Tim
, or John
ℹ️
|
|
Sorts the employees or departments of the current list in sorted order.
The list can be sorted in ascending or descending order.
Format: sort FIELD ORDER
ℹ️
|
This operation only supports the following fields and orders
|
Examples:
-
sort name asc
-
sort department desc
ℹ️
|
|
Shows a list of departments available in the addressbook.
Format: listdepartment
Alias: ld
Example: listdepartment
ℹ️
|
|
Filter departments and list out the employees who are in the department.
Format: filterdepartment KEYWORD [MORE KEYWORDS]
Alias: fd
-
The search is case insensitive. e.g.
junior
will match employees inJunior Management
-
Only full words will be matched. e.g.
junio
will not matchJunior Management
-
Filtering of more than one department will list out the employees in the departments.
Examples:
-
filterdepartment junior
-
filterdepartment junior senior
Format: help
ℹ️
|
|
User Guide will open in a separate window shown below:
ℹ️
|
|
Selects the employee identified by the index number used in the displayed employee list.
Format: select INDEX
-
Selects the employee at the specified
INDEX
and loads the homepage of BankAB. -
The index refers to the index number shown in the displayed employee list.
-
The index must be a positive integer
1, 2, 3, …
Examples:
-
list
select 2
Selects the 2nd employee in the address book. -
find Betsy
select 1
Selects the 1st employee in the results of thefind
command.
ℹ️
|
|
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. |
Updates check in/out status for employees.
Format: check m/MODE
Examples:
-
check m/in
-
check m/out
ℹ️
|
This operation requires user to be logged in with a privilege level of |
Resets the application into a default state, by deleting data/AddressBook.xml and data/leave.xml. The application will also close upon deleting the two files.
Refer to the List of Default Contacts upon app reset on the contacts available.
Format: reset
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 Address Book folder.
-
Login:
login ic/NRIC pwd/PASSWORD
-
Check login status:
checkloginstatus
-
Logout:
logout
-
Edit personal particulars:
edit [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
-
Add employee:
add n/NAME ic/NRIC pwd/PASSWORD p/PHONE_NUMBER e/EMAIL d/DEPARTMENT a/ADDRESS wr/WORKING_RATE [plvl/PRIORITY_LEVEL] [t/TAG]…
-
Deleting employee:
delete INDEX
-
Set priority level of an employee:
setplvl INDEX plvl/PRIORITY_LEVEL
-
Change department of an employee:
setdepartment INDEX d/DEPARTMENT
-
Add leave application:
leave date/DATE
-
List all leave applications:
listleave
-
Filter leave applications:
filterleave NRIC
-
Delete leave application:
deleteleave INDEX
-
Approve leave application:
approve INDEX
-
Reject leave application:
reject INDEX
-
List schedule:
schedule INDEX
-
Set schedule:
setschedule INDEX ts/TIME_START te/TIME_END v/VENUE
-
List employee list:
list
-
Find employee:
find KEYWORD [MORE_KEYWORDS]
-
Sort address book contacts:
sort FIELD ORDER
-
List available departments:
listdepartment
-
Filter departments:
filterdepartment KEYWORD [MORE KEYWORDS]
-
Help:
help
-
Select the employee:
select INDEX
-
History of commands:
history
-
Check in/out working hours:
check m/MODE
-
Reset the application:
reset
-
Exit application:
exit
Parameter name | Prefix | Constraints | Example |
---|---|---|---|
Name |
n/NAME |
Name must be alphabetical |
n/Lewis Hamilton |
NRIC Number |
ic/NRIC |
NRIC should start with an upper-case character [S, T, F, G], followed by a seven-digit number, and ending with a upper-case alphabet. NRIC for every single individuals must be unique. |
ic/S9203948E |
Password |
pwd/PASSWORD |
Password should be alphanumeric and should contain at least five characters |
pwd/NeUeR2018 |
Phone |
p/PHONE |
Phone numbers should contain only numbers, and should have at least three digits. |
p/81667800 |
e/EMAIL |
Emails should be of the format local-part@domain, and also satisfy the following requirements: |
e/jarvin@eltech.com |
|
Department |
d/DEPARTMENT |
Department should contain alphabetic characters and spaces, and it should not be blank. Department names should start with a name, and ends with 'Management'. |
d/Junior Management |
Address |
a/ADDRESS |
N/A |
a/Blk 25, Ang Mo Kio Street 23 #04-21, s(630025) |
Mode |
m/MODE |
Mode should only contains "in" or "out". |
m/in |
Working Rate |
wr/WORKING_RATE |
Working rate should only contains whole or decimal numbers. |
wr/7.5 |
Priority Level |
plvl/PRIORITY_LEVEL |
Priority Level should be a number respective to the following classification: |
plvl/2 |
Tag(s) |
t/TAG1 t/TAG2 … |
Tag names should be alphanumeric |
t/Admin t/Boss t/OweMeMoney |
Parameter | Prefix | Constraints | Example |
---|---|---|---|
Start Time |
ts/TIME_START |
Start Time should only be in numeric HHMM 24 hour format, and it should not be blank |
ts/0900 |
End Time |
te/TIME_END |
End Time should only be in numeric HHMM 24 hour format, and it should not be blank |
te/1800 |
Venue |
v/VENUE |
Venue should only contain alphanumeric characters and spaces, and it should not be blank |
v/Level 5 |
Parameter | Prefix | Constraints | Example |
---|---|---|---|
Date |
date/DATE |
Date must be in DD/MM/YYYY format |
date/20/11/2019 |
Priority Level | Typical Roles | Privileges |
---|---|---|
BASIC (3) |
- Intern |
- Edit your own particulars |
MANAGER (2) |
- Head of Departments |
- All privileges of a BASIC Priority Level |
I.T. UNIT (1) |
- I.T. Department |
- All privileges of a MANAGER Priority level |
ADMINISTRATOR (0) |
- Branch Manager |
- All privileges of a MANAGER Priority level |