Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.4: Update documentation #136

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions build.gradle
Expand Up @@ -207,9 +207,9 @@ asciidoctor {
idprefix: '', // for compatibility with GitHub preview
idseparator: '-',
'site-root': "${sourceDir}", // must be the same as sourceDir, do not modify
'site-name': 'AddressBook-Level4',
'site-githuburl': 'https://github.com/se-edu/addressbook-level4',
'site-seedu': true, // delete this line if your project is not a fork (not a SE-EDU project)
'site-name': 'Bank Address Book',
'site-githuburl': 'https://github.com/CS2113-AY1819S1-T16-3/main',
//'site-seedu': true, // delete this line if your project is not a fork (not a SE-EDU project)
]

options['template_dirs'].each {
Expand Down
4 changes: 4 additions & 0 deletions docs/DeveloperGuide.adoc
Expand Up @@ -232,6 +232,8 @@ The `Storage` component,
* can save `UserPref` objects in json format and read it back.
* can save the Address Book data in xml format and read it back.

//tag::jylee-git_SessionDesign[]

[[Design-Session]]
=== Session component

Expand All @@ -243,6 +245,8 @@ The `Session` component,
* allows other functions that require elevated user status, to inquire from `SessionManager` as to whether the user
is logged in, and also to inquire if the user has sufficient level of access to execute that particular function.

//end::jylee-git_SessionDesign[]

[[Design-Commons]]
=== Common classes

Expand Down
29 changes: 19 additions & 10 deletions docs/UserGuide.adoc
Expand Up @@ -96,6 +96,7 @@ a/311, Clementi Ave 2, #02-25 wr/7.5 t/friends t/owesMoney` : adds a contact nam

====

//tag::jylee-git_login[]
=== Personal User Account

==== Login to the application: `login`
Expand All @@ -118,6 +119,8 @@ Also prints the logged in NRIC if logged in.
==== Logout of the application: `logout`
Logs out of the application, allowing for other users to log in again.

//end::jylee-git_login[]

==== Editing a person : `edit`

Edits the existing particulars of the logged in user. +
Expand Down Expand Up @@ -208,6 +211,7 @@ Examples:
Deletes the employee with ID 1 in the address book.
====

//tag::jylee-git_login[]
==== Change priority level of employee: `setplvl`
[NOTE]
====
Expand All @@ -234,6 +238,7 @@ image::setPlvl_failed_screenShot.png[]

image::setOwnPlvl_failed_screenShot.png[]
====
//end::jylee-git_login[]

// tag::setdepartment[]
==== Change the department of an employee : `setdepartment`
Expand Down Expand Up @@ -712,6 +717,7 @@ There is no need to save manually.
*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.

//tag::Command_Summary[]
== Command Summary

=== Personal User Account
Expand Down Expand Up @@ -752,8 +758,9 @@ There is no need to save manually.
• *<<Check in/out working hours: `check`, Check in/out working hours>>*: `check ic/NRIC pwd/PASSWORD m/MODE`
• *<<Reset the application : `reset`, Reset the application>>*: `reset`
• *<<Exiting the program : `exit`, Exit application>>*: `exit`
//end::Command_Summary[]


//tag::jylee-git_appendixA[]
== Appendix A: List of prefixes in the application
.List of prefixes used for employee
|===
Expand Down Expand Up @@ -823,6 +830,7 @@ Department names should start with a name, and ends with 'Management'.
| Tag names should be alphanumeric
| t/Admin t/Boss t/OweMeMoney
|===
//end::jylee-git_appendixA[]

.List of prefixes used for schedule
|===
Expand Down Expand Up @@ -856,7 +864,7 @@ Department names should start with a name, and ends with 'Management'.

|===


//tag::jylee-git_appendixB[]
== Appendix B: Privileges in accordance to priority level
.Priority level and its' privileges
|===
Expand All @@ -880,7 +888,14 @@ Department names should start with a name, and ends with 'Management'.
- Approve/Reject/Delete leave of users with lower priority level +
- Check in/out to/from work for others

|ADMINISTRATOR (1)
|I.T. UNIT (1)
|
- I.T. Department
|
- All privileges of a MANAGER Priority level +
- Reset the entire AddressBook into the default address book. (*exclusive to users holding this priority level*)

|ADMINISTRATOR (0)
|
- Branch Manager +
- Bank Executive +
Expand All @@ -889,11 +904,5 @@ Department names should start with a name, and ends with 'Management'.
- Add and delete employees from the AddressBook +
- Set the priority level of all employees +
- Set Department of all employees

|I.T. UNIT (0)
|
- IT Department
|
- All privileges of a ADMINISTRATOR Priority level +
- Reset the entire AddressBook into the default address book.
|===
//end::jylee-git_appendixB[]
59 changes: 39 additions & 20 deletions docs/team/jylee-git.adoc
Expand Up @@ -9,49 +9,59 @@

== Overview

Bank Address Book (BankAB) is an employee management application. You can use BankAB to check working schedule, apply off day, check working hours, access payroll and daily notification. The managers and boss will have more access of BankAB such as changing the priority level of the employee and approve or reject off day requests.
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.

== Summary of contributions

* *Major enhancement 1*: implemented *user account and commands.*
* *Major enhancement 1*: implemented *user account with corresponding APIs and commands.*
** What it does: This allows all users to have a unique account to login and perform functions that are essential for
work purpose.
** Justification: This feature is a core component of the product as certain functions (such as leave application),
require user authentication.
** Highlights: This enhancement is challenging as we need to modify a major portion of existing source codes and test
codes, owing to the fact that the newly added NRIC parameter is unique and other existing fields, which are initially
unique, are now not.
unique, are now not. In addition, many functions that are developed by my team is dependent on this feature. This
results in the pressure on me to deliver this feature at the shortest time possible.

* *Major enhancement 2*: implemented *priority level and commands.*
* *Major enhancement 2*: implemented *priority access level with corresponding APIs and commands.*
** What it does: All user accounts will have a priority level, which will allow/restrict them to functions that
require an elevated user to do so.
** Justification: This feature is also a core component and complements the implementation of user accounts, as some
features (e.g.: Approving of leaves), require someone of a senior rank to do so. This will prevent users from
potentially abusing company resources and product functions.

* *Minor enhancement*: added a history command that allows the user to navigate to previous commands using up/down keys.

* *Code contributed*: [https://github.com[Functional code]] [https://github.com[Test code]] _{give links to collated code files}_
* *Code contributed*: https://nuscs2113-ay1819s1.github.io/dashboard/#=undefined&search=jylee-git[Code Dashboard]
* *Minor enhancement*: added a reset command to reset the Bank Address Book to the original state at first start

* *Other contributions*:

** Project management:
*** Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub
*** Managed vetting through and approving individual pull requests

** Enhancements to existing features:
*** Updated the GUI color scheme (Pull requests https://github.com[#33], https://github.com[#34])
*** Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests https://github.com[#36], https://github.com[#38])
*** Added a field that shows the user who is logged in at the status footer of the UI
*** Made significant changes to priority level ranking following the feedback received from the first practical exam: https://github.com/CS2113-AY1819S1-T16-3/main/pull/134[#134]

** Documentation:
*** Did cosmetic tweaks to existing contents of the User Guide: https://github.com[#14]
** Community:
*** PRs reviewed (with non-trivial review comments): https://github.com[#12], https://github.com[#32], https://github.com[#19], https://github.com[#42]
*** Contributed to forum discussions (examples: https://github.com[1], https://github.com[2], https://github.com[3], https://github.com[4])
*** Reported bugs and suggestions for other teams in the class (examples: https://github.com[1], https://github.com[2], https://github.com[3])
*** Some parts of the history feature I added was adopted by several other class mates (https://github.com[1], https://github.com[2])
** Tools:
*** Integrated a third party library (Natty) to the project (https://github.com[#42])
*** Integrated a new Github plugin (CircleCI) to the team repo
*** Re-arranged summary of commands in the user guide to make them more organized: https://github.com/CS2113-AY1819S1-T16-3/main/pull/89[#89]
*** Added appendices A and B in the user guide that summarizes the prefixes and corresponding data types, and also various priority levels and its corresponding privileges:
https://github.com/CS2113-AY1819S1-T16-3/main/pull/60[#60], https://github.com/CS2113-AY1819S1-T16-3/main/pull/89[#89]

_{you can add/remove categories in the list above}_
** Community:
*** PRs reviewed (with non-trivial review comments):
https://github.com/CS2113-AY1819S1-T16-3/main/pull/26[#26], https://github.com/CS2113-AY1819S1-T16-3/main/pull/92[#92]
*** Reported bugs and suggestions for other teams in the class:
https://github.com/CS2113-AY1819S1-F09-2/main/issues/152[1], https://github.com/CS2113-AY1819S1-F09-2/main/issues/157[2],
https://github.com/CS2113-AY1819S1-F09-2/main/issues/167[3]

== Contributions to the User Guide

Expand All @@ -61,6 +71,14 @@ _{you can add/remove categories in the list above}_
|===

//include whatever you did here
include::../UserGuide.adoc[tag=jylee-git_login]

include::../UserGuide.adoc[tag=Command_Summary]

include::../UserGuide.adoc[tag=jylee-git_appendixA]

include::../UserGuide.adoc[tag=jylee-git_appendixB]


== Contributions to the Developer Guide

Expand All @@ -69,3 +87,4 @@ _{you can add/remove categories in the list above}_
|===

//include whatever you did here
include::../DeveloperGuide.adoc[tag=jylee-git_SessionDesign]
6 changes: 3 additions & 3 deletions src/main/java/seedu/address/logic/parser/ParserUtil.java
Expand Up @@ -323,14 +323,14 @@ public static WorkingRate parseWorkingRate(String workingRate) throws ParseExcep
return new WorkingRate(trimmedWorkingRate);
}


//@@author jylee-git
//=========================== CONDITION CHECKERS ================================================

/**
* Checks and returns true if there is only one prefix of each type.
*
* WARNING: This method WILL NOT WORK for AddCommand and DeleteCommand due to address parameters accepting
* input which contains string prefix of other prefixes.
* WARNING: This method WILL NOT WORK for AddCommand and DeleteCommand due to address regex accepting
* input which contains string prefix of other prefixes, which can crash the whole system.
*/
public static boolean hasOnlyOnePrefixOfSpecifiedType(String userInput, Prefix... prefixes) throws ParseException {
for (Prefix prefix : prefixes) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/seedu/address/session/SessionManager.java
Expand Up @@ -37,7 +37,7 @@ public class SessionManager extends ComponentManager implements Session {
// FOR TEST USE ONLY
protected SessionManager() {
logger.warning("Empty SessionManager constructor called. If this isn't a test, there is a bug in the"
+ "source code.");
+ "source code.");
}

private SessionManager(Model model) {
Expand Down