Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Shriya Saxena committed Oct 3, 2019
2 parents 75d992d + 8180e05 commit f2b56f8
Show file tree
Hide file tree
Showing 12 changed files with 557 additions and 9 deletions.
Binary file modified data/duke.txt
Binary file not shown.
6 changes: 3 additions & 3 deletions docs/AboutUs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
:imagesDir: images
:stylesDir: stylesheets

Duke - mid v1.1 was developed by the CS2113T-F10-3 team. +
AlphaNUS - mid v1.1 was developed by the CS2113T-F10-3 team. +
_{The dummy content given below serves as a placeholder to be used by future forks of the project.}_ +
{empty} +
We are a team based in the http://www.comp.nus.edu.sg[School of Computing, National University of Singapore].
Expand Down Expand Up @@ -38,7 +38,7 @@ Responsibilities: Data
'''

=== Li Jiayu
image::dummy.png[width="150", align="left"]
image::lijiayu980606.png[width="150", align="left"]
{empty}[http://github.com/lijiayu980606[github]] [<<lijiayu#, portfolio>>]

Role: Deliverables and deadlines, Integration +
Expand All @@ -47,7 +47,7 @@ Responsibilities: Storage
'''

=== Karan Sarat
image::dummy.png[width="150", align="left"]
image::karansarant.png[width="150", align="left"]
{empty}[http://github.com/karansarat[github]] [<<karansarat#, portfolio>>]

Role: Scheduling and tracking, +
Expand Down
252 changes: 252 additions & 0 deletions docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,252 @@
= AlphaNUS - Developer Guide
:site-section: DeveloperGuide
:toc:
:toc-title:
:toc-placement: preamble
:sectnums:
:imagesDir: images
:stylesDir: stylesheets
:xrefstyle: full
ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
:warning-caption: :warning:
endif::[]
:repoURL: https://github.com/se-edu/addressbook-level3/tree/master

By: `AY1920S1-CS2113T-F10-3` Since: `Aug 2019` Licence: `NUS`

[appendix]
== Product Scope

*Target user profile*:

* has a need to manage a significant number of payment forms
* prefer desktop apps over other types
* can type fast
* prefers typing over mouse input
* is reasonably comfortable using CLI apps

*Value proposition*: Manage payments faster than a typical mouse/GUI driven app

[appendix]
== User Stories

Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (unlikely to have) - `*`

[width="59%",cols="22%,<23%,<25%,<30%",options="header",]
|=======================================================================
|Priority |As a ... |I want to ... |So that I can...
|`* * *` |new user |see usage instructions |refer to instructions when I forget how to use the App

|`* * *` |NUS Treasurer |add the budget for an event |spend within my budget

|`* * *` |NUS Treasurer |add my deadlines |keep track of the payments to be submitted

|`* *` |NUS Treasurer |set priorities for each deadline |decide which task to finish first

|`* *` |NUS Treasurer |view the amount of money remaining from my budget |budget my spending better

|`* *` |NUS Treasurer |edit my forms easily |correct any mistakes i make

|`* *` |NUS Treasurer |delete my forms easily |correct any mistakes i make

|`* *` |NUS Treasurer |find my forms easily |locate details of an event without going through the whole list

|`* *` |NUS Treasurer |approve my payment forms |track which payment forms have been approved

|`*` |NUS Treasurer |categorise the payment forms I submitted into projects |keep track of the payment forms belonging to a particular project

|`*` |NUS Treasurer |share my payment forms |get approval from my superiors
|=======================================================================

[appendix]
== Use Cases

(For all use cases below, the *System* is `AlphaNUS` and the *Actor* is the `NUS Treasurer`, unless specified otherwise)

=== Use case: Add a new deadline

*MSS*

1. User opens the JAR file.
2. AlphaNUS shows a command line along with different sections such as “Deadlines”, “Payments” and “Payment History”.
3. User types in the command line the deadline description and time.
4. AlphaNUS adds the deadline.
+
Use case ends.

*Extensions*

[none]
* 3a. User types in an invalid deadline command.
** 3a1. AlphaNUS shows an error message and the correct deadline input format.
+
Use case ends.

=== Use case: Add a new payment form

*MSS*

1. User opens the JAR file.
2. AlphaNUS shows a command line along with different sections such as “Deadlines”, “Payments” and “Payment History”.
3. User types in the command line the payment description, items and the cost of each item.
4. AlphaNUS adds the payment form.
+
Use case ends.

*Extensions*

[none]
* 3a. User types in an invalid payment command.
** 3a1. AlphaNUS shows an error message and the correct payment input format.
+
Use case ends.

=== Use case: Find a payment form or deadline

*MSS*

1. User opens the JAR file.
2. AlphaNUS shows a command line along with different sections such as “Deadlines”, “Payments” and “Payment History”.
3. User types in the command line the command to find and a keyword containing part of the description of a deadline or payment form.
4. AlphaNUS lists the deadlines and payment forms with descriptions that matches the keyword.
+
Use case ends.

*Extensions*

[none]
* 3a. User types in an invalid find command.
** 3a1. AlphaNUS shows an error message and the correct find input format.
+
Use case ends.

[none]
* 3b. User types in a keyword that returns no match.
** 3b1. AlphaNUS shows a no-match error message.
+
Use case ends.

=== Use case: Edit the description of a payment form or a deadline

*MSS*

1. User opens the JAR file.
2. AlphaNUS shows a command line along with different sections such as “Deadlines”, “Payments” and “Payment History”.
3. User types in command line the command to edit a payment form or deadline with a new description.
4. AlphaNUS updates the payment form/deadline with the new description.
+
Use case ends.

*Extensions*

[none]
* 3a. User types in a non-existing id.
** 3a1. AlphaNUS shows a non-existing id error message.
+
Use case ends.

=== Use case: Edit the time of a deadline

*MSS*

1. User opens the JAR file.
2. AlphaNUS shows a command line along with different sections such as “Deadlines”, “Payments” and “Payment History”.
3. User requests to reschedule a deadline to a new time.
4. AlphaNUS updates the deadline with the new time.
+
Use case ends.

*Extensions*

[none]
* 3a. User types in a non-existing id for a deadline.
** 3a1. AlphaNUS shows a non-existing id error message.
+
Use case ends.

[none]
* 3b. User types in an invalid time.
** 3b1. AlphaNUS shows an invalid time error message.
+
Use case ends.

[none]
* 3c. User requests to snooze the deadline.
** 3c1. AlphaNUS snoozes the deadline by 1 hour.
+
Use case ends.

[none]
* 3d. User requests to [.underline]#find the deadline# first.
** 3d1. AlphaNUS lists the deadlines that match the keyword searched.
+
Use case resumes from step 3.

=== Use case: Edit the <<payment-details, payment details>> of a payment form

*MSS*

1. User opens the JAR file.
2. AlphaNUS shows a command line along with different sections such as “Deadlines”, “Payments” and “Payment History”.
3. User requests to redetail a payment form.
4. AlphaNUS updates the payment form with its new payment details.
+
Use case ends.

*Extensions*

[none]
* 3a. User types in a non-existing id for a payment form.
** 3a1. AlphaNUS shows a non-existing id error message.
+
Use case ends.

[none]
* 3d. User requests to [.underline]#find the payment form# first.
** 3d1. AlphaNUS lists the payment forms that match the keyword searched.
+
Use case resumes from step 3.


=== Use case: Approve a payment form

*MSS*

1. User opens the JAR file.
2. AlphaNUS shows a command line along with different sections such as “Deadlines”, “Payments” and “Payment History”.
3. User requests to approve a payment form.
4. AlphaNUS sets the payment form to approved.
+
Use case ends.

*Extensions*

[none]
* 3a. User types in a non-existing id for a payment form.
** 3a1. AlphaNUS shows a non-existing id error message.
+
Use case ends.

[none]
* 3d. User requests to [.underline]#find the payment form# first.
** 3d1. AlphaNUS lists the payment forms that match the keyword searched.
+
Use case resumes from step 3.

[appendix]
== Non Functional Requirements

. Should work on any <<mainstream-os,mainstream OS>> as long as it has Java `11` or above installed.
. Should be able to support up to 1000 payment forms and deadlines without a noticeable sluggishness in performance for typical usage.
. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.

[appendix]
== Glossary

[[mainstream-os]] Mainstream OS::
Windows, Linux, Unix, OS-X

[[payment-details]] Payment Details::
The item name and its cost in a payment form.
Loading

0 comments on commit f2b56f8

Please sign in to comment.