-
Notifications
You must be signed in to change notification settings - Fork 411
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
[CS2103T-T10-2] DukeCooks #123
base: master
Are you sure you want to change the base?
Changes from 23 commits
aec6ccf
ac55d2b
fef5f40
f336edd
51bd0ba
da8fe74
84bae17
b27a16b
dea3c43
44018be
b4498f6
e2945c3
0e7ec6a
d30e342
30c714e
a7265da
c777324
e7344e3
4535839
9b32ceb
8c95015
a561f48
78946cb
1d9bb93
2894336
681f069
92ccdc9
e726a7f
b27536f
8b51e04
ddeb4f1
a69e6b1
fbafb6c
f64fe19
4f1165f
62c27dc
a522d4b
3bd2730
b7e20ea
3b5859b
2e79622
d0cf83e
b75ec4b
d1dfbc6
a5a8c67
30290e5
66941cd
a417d65
36595d6
124016e
91e563d
a759ae2
3ca3728
6de6fab
5a57438
1d1478a
757e6a9
a07a255
20dfb0c
1eda838
e9ad903
be0e65d
6dee97b
47e5ab1
b504b82
d4a30f3
a602f6e
89f9f93
b7d5af9
1430814
301a5d4
35e5334
d7916d5
dd4e518
a050f80
da6b0b2
0ea91aa
5611403
d57f17e
a26114e
79e9fb5
adfb901
2c99b50
3150525
6168beb
e7791bd
69ee447
1bdd511
0a7ccf6
0a047fa
b789340
203d22e
32900ee
413a46d
60cd439
7f2077d
c9a52fc
82ae629
7e70235
92b04d8
261ca68
1ff95d5
d3f31e4
d2a22f8
fee0d8b
7a82fd9
2031adb
9946125
2ca7c3b
036e7fc
5c29f7e
756edba
c7a3cc7
8a3f52e
7441ef9
252d28b
9dd7f99
ce5d451
0de48cc
b47238b
139fd3f
7e4c7a0
09ae61a
8d38ae1
097ed98
b59174b
fcc2ec7
dc069b3
2d2449d
01de760
38a72e8
18a8231
5925263
ff490e2
0aafbb2
9045003
6d58308
3bfb9f0
7f4418f
d638328
22770cd
a4340de
0475f33
9f6b476
974b619
1523f91
932cc87
a3546a6
4be8c9d
760920d
71f04e6
d1960bc
b09f4d6
a3860cd
3e917e3
5bf1354
6cf925c
8af62f7
6b1e079
d000d2d
3f35f53
1762024
2ebe5f8
9dcc4ee
1c3b530
f5651f6
6271afc
8f61315
015ecc0
4864555
9342b81
8fe26d1
1efca1a
1ea09f8
9d224b4
faefffe
d97882d
52b6c91
d4e0c9c
8054081
da3b375
ea48569
b4d0132
847c3a8
1f3f6b5
34cb0c1
99d30b3
be39bb5
c5b24dd
a6720e7
477b890
c51fc06
6fef7a3
19f01bd
bdd9836
64cfdfd
237dbed
3f6bdcd
3ee0f8d
4b88aed
1741051
830a8f4
57cf5f2
c0550bb
6589944
03106df
e221d6c
20107f3
ec14f92
1a8de80
6ac1f6c
a5d2b38
c91576b
033c823
e66f947
a58122d
a514d7e
d55cc5f
5bcc2ea
fdb9931
41a5a45
74ea35f
bdf419a
f8ed3c2
b84038f
27eea16
ae2bb08
f1490aa
adc5033
e434ea9
dd56021
35de7ba
f4d8876
4b3cecf
151a7c8
5e5b663
a4ba99b
b4a8b1b
5eeeed2
bea3742
278dc87
eed2aa9
faa455f
d4f4c79
adb8c3a
abcc4bc
97a6482
ffb7100
5fea1a7
a351696
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,28 @@ | ||
= Address Book (Level 3) | ||
= DukeCooks | ||
ifdef::env-github,env-browser[:relfileprefix: docs/] | ||
|
||
https://travis-ci.org/se-edu/addressbook-level3[image:https://travis-ci.org/se-edu/addressbook-level3.svg?branch=master[Build Status]] | ||
https://ci.appveyor.com/project/damithc/addressbook-level3[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]] | ||
https://coveralls.io/github/se-edu/addressbook-level3?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level3/badge.svg?branch=master[Coverage Status]] | ||
https://www.codacy.com/app/damith/addressbook-level3?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level3&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]] | ||
https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] | ||
https://travis-ci.org/AY1920S1-CS2103T-T10-2/main[image:https://travis-ci.org/AY1920S1-CS2103T-T10-2/main.svg?branch=master[Build Status]] | ||
|
||
ifdef::env-github[] | ||
image::docs/images/Ui.png[width="600"] | ||
endif::[] | ||
|
||
ifndef::env-github[] | ||
image::images/Ui.png[width="600"] | ||
endif::[] | ||
|
||
* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface). | ||
* It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language. | ||
* It is *written in OOP fashion*. It provides a *reasonably well-written* code example that is *significantly bigger* (around 6 KLoC)than what students usually write in beginner-level SE modules. | ||
This is a lifestyle application. It's designed for health-conscious individuals with the preference of using *Command Line Interface (CLI)*. | ||
You'll be able to manage various aspects of your life, such as your diet, health and exercise regime. | ||
|
||
DukeCooks in your hands, get your life all planned! | ||
|
||
== Site Map | ||
|
||
Work in Progress, to be linked. | ||
|
||
* <<UserGuide#, User Guide>> | ||
* <<DeveloperGuide#, Developer Guide>> | ||
* <<LearningOutcomes#, Learning Outcomes>> | ||
* <<AboutUs#, About Us>> | ||
* <<ContactUs#, Contact Us>> | ||
|
||
== Acknowledgements | ||
|
||
* Some parts of this sample application were inspired by the excellent http://code.makery.ch/library/javafx-8-tutorial/[Java FX tutorial] by | ||
_Marco Jakob_. | ||
* Project is inspired by https://se-education.org[AddressBook-Level3] by SE-EDU initiative. | ||
* Libraries used: https://openjfx.io/[JavaFX], https://github.com/FasterXML/jackson[Jackson], https://github.com/junit-team/junit5[JUnit5] | ||
|
||
== Licence : link:LICENSE[MIT] |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,15 @@ | |
:site-section: ContactUs | ||
:stylesDir: stylesheets | ||
|
||
* *Bug reports, Suggestions* : Post in our https://github.com/se-edu/addressbook-level3/issues[issue tracker] if you noticed bugs or have suggestions on how to improve. | ||
* *Contributing* : We welcome pull requests. Follow the process described https://github.com/oss-generic/process[here] | ||
* *Email us* : You can also reach us at `damith [at] comp.nus.edu.sg` | ||
* *Bug reports, Suggestions:* Post in our https://github.com/se-edu/addressbook-level3/issues[issue tracker] if you noticed bugs or have suggestions on how to improve. | ||
* *Contributing:* We welcome pull requests. Follow the process described https://github.com/oss-generic/process[here] | ||
* *Email us:* You may also reach out to any of us via the following emails: | ||
** *Yuan Xin:* `[email protected]` | ||
|
||
** *Hua Lun:* `[email protected]` | ||
|
||
** *Khairul:* `[email protected]` | ||
|
||
** *Jun Wei:* `[email protected]` | ||
|
||
** *Lee Wah:* `[email protected]` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
= AddressBook Level 3 - Developer Guide | ||
= DukeCooks v1.1 - Developer Guide | ||
:site-section: DeveloperGuide | ||
:toc: | ||
:toc-title: | ||
|
@@ -279,13 +279,14 @@ Refer to the guide <<DevOps#, here>>. | |
|
||
*Target user profile*: | ||
|
||
* has a need to manage a significant number of contacts | ||
* health conscious individuals | ||
* prefers to have a complete health monitoring all in one app | ||
* prefer desktop apps over other types | ||
* can type fast | ||
* prefers typing over mouse input | ||
* is reasonably comfortable using CLI apps | ||
|
||
*Value proposition*: manage contacts faster than a typical mouse/GUI driven app | ||
*Value proposition*: monitors all aspects of health in one application | ||
|
||
[appendix] | ||
== User Stories | ||
|
@@ -295,35 +296,36 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un | |
[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 | ||
|`* * *` |Home Cook |store all my recipes |easily list out all the ingredients I have to buy for a weekly meal plan | ||
|
||
|`* * *` |user |add a new person | | ||
|`* * *` |Indecisive person |get food suggestions |save time when deciding what to eat | ||
|
||
|`* * *` |user |delete a person |remove entries that I no longer need | ||
|`* * *` |Health conscious person |track my health progress |manage my diet | ||
|
||
|`* * *` |user |find a person by name |locate details of persons without having to go through the entire list | ||
|`* * *` |Fitness enthusiast |track my exercises |keep a history of my fitness progress | ||
|
||
|`* *` |user |hide <<private-contact-detail,private contact details>> by default |minimize chance of someone else seeing them by accident | ||
|`* * *` |Food Blogger |consolidate my food and exercise plan |share them with other interested individuals | ||
|
||
|`*` |user with many persons in the address book |sort persons by name |locate a person easily | ||
|`* *` |Foodie |find new places to eat |try out new places and share the experience with others | ||
|
||
|`*` |Fun Seeker |keep track of my health in a game like way |have fun and be healthy at the same time | ||
|======================================================================= | ||
|
||
_{More to be added}_ | ||
|
||
[appendix] | ||
== Use Cases | ||
|
||
(For all use cases below, the *System* is the `AddressBook` and the *Actor* is the `user`, unless specified otherwise) | ||
(For all use cases below, the *System* is `DukeCooks` and the *Actor* is the `user`, unless specified otherwise) | ||
|
||
[discrete] | ||
=== Use case: Delete person | ||
=== Use case: Add recipe | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Consider numbering the use cases: e.g. Use case UC01: Add recipe |
||
|
||
*MSS* | ||
|
||
1. User requests to list persons | ||
2. AddressBook shows a list of persons | ||
3. User requests to delete a specific person in the list | ||
4. AddressBook deletes the person | ||
1. User requests to list recipes | ||
2. DukeCooks shows a list of recipes | ||
3. User requests to add a recipe to the list | ||
4. DukeCooks adds the recipe to the list | ||
+ | ||
Use case ends. | ||
|
||
|
@@ -337,17 +339,115 @@ Use case ends. | |
* 3a. The given index is invalid. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this be generalised such that it doesn't show information about UI? |
||
+ | ||
[none] | ||
** 3a1. AddressBook shows an error message. | ||
** 3a1. DukeCooks shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
_{More to be added}_ | ||
[discrete] | ||
=== Use case: Suggest Food | ||
|
||
*MSS* | ||
|
||
1. User requests for a food suggestion | ||
2. DukeCooks gives a food recommendation | ||
3. User is satisfied with the recommendation | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 3a. User is unsatisfied with the food recommendations. | ||
+ | ||
[none] | ||
** 3a1. User asks for another suggestion. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
[discrete] | ||
=== Use case: Add Calorie Intake | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe consider clarifying the information provided in Nutrition (Breakdown)? Its slightly unclear what the list of Nutrition means |
||
*MSS* | ||
|
||
1. User requests to add calorie intake for the day | ||
2. DukeCooks shows a list of Nutrition (Breakdown) | ||
3. User requests to add certain nutrition value fields | ||
4. DukeCooks updates Health Records | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 2a. The Nutrition list is empty (User did not give any nutrition inputs). | ||
+ | ||
[none] | ||
** 2a1. DukeCooks updates calorie count in Health Records (omit nutritional information). | ||
+ | ||
Use case ends. | ||
|
||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. DukeCooks shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
[discrete] | ||
=== Use case: Create Workout | ||
|
||
*MSS* | ||
|
||
1. User requests to list <<exercise>> | ||
2. DukeCooks shows a list of <<exercise>> | ||
3. User requests to add an exercise into their <<workout>> | ||
4. DukeCooks adds the exercise into the <<workout>> | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 2a. The exercise list is empty | ||
+ | ||
[none] | ||
** 2a1. DukeCooks updates the list with pre-made exercises. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. DukeCooks shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
[discrete] | ||
=== Use case: Create a new diary | ||
|
||
*MSS* | ||
|
||
1. User requests to create a new diary | ||
2. A new diary is created with the specified name | ||
|
||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. All your extensions are pretty exhaustive, good job! |
||
|
||
[none] | ||
* 1a. Diary name already exists. | ||
+ | ||
[none] | ||
** 1a1. DukeCooks displays an error message. | ||
+ | ||
Use case ends. | ||
|
||
[appendix] | ||
== Non Functional Requirements | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Have you considered additional NFRs? For example, having backups in case of data corruption. |
||
|
||
. Should work on any <<mainstream-os,mainstream OS>> as long as it has Java `11` or above installed. | ||
. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage. | ||
. Should be able to hold up to 1000 recipes without a significant reduction in performance for typical usage. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would you like to consider quantifying the "significant" reduction? This would help identifying whether the goal has been met. |
||
. 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. | ||
|
||
_{More to be added}_ | ||
|
@@ -358,8 +458,11 @@ _{More to be added}_ | |
[[mainstream-os]] Mainstream OS:: | ||
Windows, Linux, Unix, OS-X | ||
|
||
[[private-contact-detail]] Private contact detail:: | ||
A contact detail that is not meant to be shared with others | ||
[[workout]] Workout:: | ||
A list of <<exercise>> planned to be done in one session. | ||
|
||
[[exercise]] Exercise:: | ||
An activity that works a specific or multiple muscles, usually a repetition of an action. | ||
|
||
[appendix] | ||
== Product Survey | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you considered adding more user stories? Could consider including additional stories that would be possible in v2.0