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][F11-B2] TuitionCor #64

Open
wants to merge 396 commits into
base: master
Choose a base branch
from

Conversation

Zhu-Jiahui
Copy link

@Zhu-Jiahui Zhu-Jiahui commented Mar 8, 2018

@nus-se-pr-bot
Copy link

Hi @Zhu-Jiahui, your pull request title is invalid.

For phase A, it should be in the format of [Learning Outcome ID][Team ID] Your Name, where [Learning Outcome ID] has no dashes or spaces (e.g. [W3.1a]) and [Team ID] has one dash only and no spaces (e.g. [W14-A2] means Wednesday 2pm (14 hrs), Phase A, Team 2).

For phase B, it should be in the format of [v1.x][Team ID] Product Name, replacing v1.x with current milestone progress.

Please follow the instructions given strictly and edit your title for reprocessing.

Submit only one learning outcome per pull request (unless otherwise stated in instructions) and do remember to create your branches from the commit where the master branch is pointing at so that each PR you submit only consist of commits meant for the activity.

Note: this comment is posted by a bot. If you believe this is done in error, please create an issue at cs2103-pr-bot and add a link to this PR.

@Zhu-Jiahui Zhu-Jiahui changed the title [v1.x][F11-B2] TuitionCor [v1.0][F11-B2] TuitionCor Mar 9, 2018
@nus-se-pr-bot
Copy link

Hi @Zhu-Jiahui,

Your Github username is not recognized. Please post here.

Note: this comment is posted by a bot. If you believe this is done in error, please create an issue at cs2103-pr-bot and add a link to this PR.

Copy link

@karrui karrui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[v1.0 review]
DO NOT CLOSE THIS PR!
Make changes as requested/suggested throughout the weeks until v1.5 :)

Few notes:
Important: I do not see your updated target user profile. Please remember to update them so I can assess the validity or make suggestions.
Be reminded that you will implement 1 big feature each, and it should solve the target user’s problem.
You can also define a person and give a name (to easily refer to him/her later in the doc)

Good to see that you have created issues and v1.0 milestone.
Please remember to add v1.1 to v1.5 milestones by next tutorial -- they can be empty, but should have been created with deadlines.

More issues should be created, they can be related to implementing, documentation, or bugs. I recommend using tags to sort them out.

Please implement comments you think you should follow.

README.adoc Outdated
@@ -1,7 +1,7 @@
= Address Book (Level 4)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this application is named Address Book (Level 4) anymore!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated.

|`*` |user with many persons in the address book |sort persons by name |locate a person easily
|`* *` |user |do multi-layer searching |narrow down the options

|`* *` |student |request to know the qualification of the tutor |make my decision wisely
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed in the tutorial, this does not really make much sense -- would a student / tutor use this application?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated


|`* *` |student |request to know the qualification of the tutor |make my decision wisely

|`* *` |tutor |request to know the grades of the students |make my decision wisely
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

@@ -9,6 +9,7 @@
public class HelpCommand extends Command {

public static final String COMMAND_WORD = "help";
public static final String COMMAND_ALIAS = "1";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this alias make much sense? It does not fit in the previous established way of aliasing commands. Might be confusing to the user.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

@@ -10,7 +10,7 @@ ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
endif::[]
:repoURL: https://github.com/se-edu/addressbook-level4/tree/master
:repoURL: https://github.com/CS2103JAN2018-F11-B2/main

By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT`
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update this line! Preferably XXX forked from Team SE-EDU

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in my commit

=== Exiting the program : `exit`

Exits the program. +
Format: `exit`

Alias Format: `x`

=== Saving the data
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to update the Command Summary below so that the existence of aliases is made known

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

@Test
public void parseCommand_redoCommandWord_returnsRedoCommand() throws Exception {
assertTrue(parser.parseCommand(RedoCommand.COMMAND_WORD) instanceof RedoCommand);
assertTrue(parser.parseCommand("redo 1") instanceof RedoCommand);
}

@Test
public void parseCommand_redoCommandWord_returnsRedoCommandAlias() throws Exception {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some error in the syntax here, remember that test naming syntax is featureUnderTest_testScenario_expectedBehavior(), so in this case it should be parseCommand_redoCommandAlias_returnsRedoCommand(). Note the change in position of the word alias

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

@Test
public void parseCommand_undoCommandWord_returnsUndoCommand() throws Exception {
assertTrue(parser.parseCommand(UndoCommand.COMMAND_WORD) instanceof UndoCommand);
assertTrue(parser.parseCommand("undo 3") instanceof UndoCommand);
}

@Test
public void parseCommand_undoCommandWord_returnsUndoCommandAlias() throws Exception {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same thing here

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

}

/**
*To be updated
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to set it as a TODO: so that it will be highlighted in your IDE. Make sure the basic functionalities of the program is working before you push it to master, as this is the "gold standard" of your application

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

@@ -806,9 +806,59 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The target user profile is not updated. Please update it so I can assess its viability or make suggestions for improvements.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in my commit

@karrui
Copy link

karrui commented Mar 11, 2018

@Zhu-Jiahui, seems like you changed your Github username and did not update the mapping. Please contact the head TA to remap your github id.

@madsonic @olimhc please help to tell him if he does not see this.

@karrui
Copy link

karrui commented Mar 14, 2018

Don't need to reply to all of them... Spamming my inbox :(

@Zhu-Jiahui
Copy link
Author

Zhu-Jiahui commented Mar 14, 2018 via email

@Zhu-Jiahui Zhu-Jiahui changed the title [v1.0][F11-B2] TuitionCor [v1.1][F11-B2] TuitionCor Mar 16, 2018
@karrui
Copy link

karrui commented Mar 17, 2018

Reviewing now; but a few things to take note for next submission (i.e v1.2 onwards)

Comment here when you are ready for review and give a summary of the changes -- i.e
"Add xxx function"
"Change xxx", etc
So I can see what new changes there are :)

Copy link

@karrui karrui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Zhu-Jiahui @olimhc @shookshire
v1.1 reviewed, remember to not close your PR.

Some admin matters.
I would want you to mention the following in your Developer guide

For each team member what are the features (major and minor) you are proposing?
Within the scope of the project, how does it fit in (just a one or 2 line summary)
Please do this by end of day Monday 19 March.

** A more sophisticated GUI that includes a list panel and an in-built Browser.
** More test cases, including automated GUI testing.
** Support for _Build Automation_ using Gradle and for _Continuous Integration_ using Travis CI.
* This is a desktop TuitionCor application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does not tell me anything about the application. What is TuitionCor?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in my commit

@@ -10,7 +10,7 @@ ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
endif::[]
:repoURL: https://github.com/se-edu/addressbook-level4/tree/master
:repoURL: https://github.com/CS2103JAN2018-F11-B2/main forked from Team SE-EDU

By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT`
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update this line too

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in my commit

@@ -10,7 +10,7 @@ ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
endif::[]
:repoURL: https://github.com/se-edu/addressbook-level4/tree/master
:repoURL: https://github.com/CS2103JAN2018-F11-B2/main forked from Team SE-EDU
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Provide link to the Team SE-EDU repo too

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in my commit

@@ -782,13 +782,25 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step-

*Target user profile*:

* has a need to manage a significant number of contacts
<<<<<<< Updated upstream
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove merge conflict arrows

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in my commit

*Value proposition*: manage contacts faster than a typical mouse/GUI driven app
*Value proposition*:
TuitionCor is targeted at tuition coordinators who have to manage a large amount of contacts.
The daily job-scope of a tuition coordinator involves the need to manage large amount of contacts and match the students to tutors according to their credentials, needs and location.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good!

@@ -27,6 +27,7 @@ public static boolean isWindowPresent() {

/**
* Returns the {@code URL} of the currently loaded page.
* @TODO: 14/3/2018 Remove this when no longer required
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remember to clear your TODOs if they are done (I don't know if this is applicable or what this TODO is doing)
Remember to make TODOs obvious to anyone seeing your code too -- good habit to have

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in my commit

@Test
public void parseCommand_clear() throws Exception {
assertTrue(parser.parseCommand(ClearCommand.COMMAND_WORD) instanceof ClearCommand);
assertTrue(parser.parseCommand(ClearCommand.COMMAND_WORD + " 3") instanceof ClearCommand);
assertTrue(parser.parseCommand(ClearCommand.COMMAND_ALIAS) instanceof ClearCommand);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate code? Seems like you removed the wrong lines

assertTrue(predicate.test(new PersonBuilder().withName("Alice Bob").build()));

// Keywords match phone, email and address, but does not match name
predicate = new SearchContainsKeywordsPredicate(Arrays.asList("12345", "[email protected]", "Main", "Street"));
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can also add more test cases like only phone number, only email, etc

}

/**
*TODO:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO alert

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in my commit

@@ -46,6 +46,6 @@ private void deleteFileIfExists(String filePath) {
@Test
public void addressBook_dataFileDoesNotExist_loadSampleData() {
Person[] expectedList = SampleDataUtil.getSamplePersons();
assertListMatching(getPersonListPanel(), expectedList);
assertListMatching(getStudentListPanel(), expectedList);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to add test cases relating to the other panel newly introduced too

By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT`

== Introduction

AddressBook Level 4 (AB4) is for those who *prefer to use a desktop app for managing contacts*. More importantly, AB4 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). If you can type fast, AB4 can get your contact management tasks done faster than traditional GUI apps. Interested? Jump to the <<Quick Start>> to get started. Enjoy!
TuitionCor is for those who *prefer to use a desktop app for managing client information*. More importantly, TuitionCor 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). If you can type fast, TuitionCor can get your client management tasks done faster than traditional GUI apps. Interested? Jump to the <<Quick Start>> to get started. Enjoy!
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a Features section to this UserGuide too, detailing what each new version will bring, all the way to v1.5 (and v2.0 for the long term goals)
Basically add a timeline of expected features

@@ -160,7 +160,7 @@ image::UiClassDiagram.png[width="800"]

*API* : link:{repoURL}/src/main/java/seedu/address/ui/Ui.java[`Ui.java`]

The UI consists of a `MainWindow` that is made up of parts e.g.`CommandBox`, `ResultDisplay`, `PersonListPanel`, `StatusBarFooter`, `BrowserPanel` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class.
The UI consists of a `MainWindow` that is made up of parts e.g.`CommandBox`, `ResultDisplay`, `PersonListPanel`, `StatusBarFooter` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing documentation for new features, please remember to add them every week.

@shookshire
Copy link

Added Feature Contribution to DeveloperGuide

whenzei pushed a commit to whenzei/main that referenced this pull request Mar 21, 2018
* Add test case for SetCommandParser

* minor edits

* some edits

* Some minor edits based on the helpful suggestion of eugenepeh. Added features into developer guide.

* minor edit

* minor edits

* minor edits

* Add set command functionality to keep set of custom command words on top of default command words. Include test cases.

* Update features:
* importexport
* set

* Add documentation on set command in developer guide.

* minor edits
YuanQLLer pushed a commit to YuanQLLer/addressbook-level4 that referenced this pull request Mar 21, 2018
@karrui
Copy link

karrui commented Mar 21, 2018

@Zhu-Jiahui @shookshire @olimhc Please note the new post about defining your major and minor enhancements - nus-cs2103-AY1718S2/forum#28
Namely, a major enhancement should span multiple stories, with stories spanning multiple tasks, and a minor enhancement should be a single story. Make sure your issue tracker and milestones are properly set up before the tutorial.

A demo issue tracker has also been released for your perusal. You may also find it at https://github.com/MyTAOrg/DemoGradle/issues

destinnsy and others added 4 commits March 23, 2018 04:18
Replace dummy text fields with "-"
# Conflicts:
#	docs/DeveloperGuide.adoc
Developer guide: Sort implementation
olimhc and others added 30 commits April 15, 2018 15:23
DeveloperGuide, UserGuide and PPP Updates
Update remove manual testing
DeveloperGuide: Update instruction for testing & add one user story
Fixes Ui.png not displaying properly
DeveloperGuide: Minor formatting edit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants