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

Update UserGuide.adoc for display feature and Update UiClassDiagram.puml #78

Merged
merged 46 commits into from
Oct 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
cfae989
Pull request (#7)
mrchensheng21 Oct 14, 2019
e3ad767
Edit fxml file to change UI
Oct 15, 2019
3c01508
Pull request from team repo (#8)
mrchensheng21 Oct 15, 2019
30f2445
Merge branch 'master' of https://github.com/mrchensheng21/main
Oct 15, 2019
98dd79a
Add ScheduleView.java to display timetable
Oct 16, 2019
92e4884
Resolve conflicts
Oct 16, 2019
a8f02f4
Resolve conflict
Oct 16, 2019
04d89bb
Resolve Conflict
Oct 16, 2019
217451d
Resolve Conflict
Oct 16, 2019
57c2a58
Resolve Conflict
Oct 16, 2019
2722e9c
Resolve Conflict
Oct 16, 2019
34aa657
Resolve Conflict
Oct 16, 2019
05689d8
Resolve Conflicts
Oct 16, 2019
b9e809f
Pull Request (#9)
mrchensheng21 Oct 16, 2019
fe67612
Add ScheduleView.java for viewing of timetable
Oct 17, 2019
4260f32
Edit ScheduleView.java to make it work
Oct 17, 2019
65935e1
Merge branch 'master' into master
mrchensheng21 Oct 17, 2019
b21f478
Edit code to fulfil checkstyle
Oct 17, 2019
f4cfedd
Merge branch 'master' of https://github.com/mrchensheng21/main
Oct 17, 2019
ccc0db5
Edit code to fulfil checkstyle
Oct 17, 2019
83287f6
Edit code to fulfil Checkstyle requirements
Oct 17, 2019
a9ad629
Delete getSamplePersons from SampleDataUtil.java
Oct 17, 2019
f097c12
Edit code to fulfil Checkstyle Requirements
Oct 17, 2019
f1ea683
Merge branch 'master' into master
mrchensheng21 Oct 17, 2019
e54bce4
Fix Checkstyle
Oct 17, 2019
60a2110
Pull request from team repo (#10)
mrchensheng21 Oct 21, 2019
a1a7029
Pull request from team repo (#11)
mrchensheng21 Oct 21, 2019
66b54e6
Pull request from team repo (#12)
mrchensheng21 Oct 21, 2019
6064b20
Add ScheduleViewPanel.java to display multiple tables
Oct 21, 2019
dc4c9c3
Merge branch 'master' into master
mrchensheng21 Oct 21, 2019
d92c36f
Travis Fix
Oct 21, 2019
17cbab9
Resolve Conflicts
Oct 21, 2019
af0685a
Fix merge conflicts
Oct 21, 2019
5f50478
Separate column titles from Schedule's observable list (#73) (#13)
mrchensheng21 Oct 21, 2019
f34437d
Edit multiple tableViews
Oct 21, 2019
e426241
Add RefreshListener.java and RefreshListenerManager.java
Oct 21, 2019
c3a8b15
Edit RefreshListener.java and RefreshListenerManager.java to create f…
Oct 22, 2019
e4ecdfe
Merge branch 'master' into master
mrchensheng21 Oct 22, 2019
3efea3b
Travis fix
Oct 22, 2019
0ae0911
Edit UserGuide.adoc to modify the UI Display part
Oct 22, 2019
0bfeef1
Typo Fix
Oct 23, 2019
a7c676c
Update DeveloperGuide.adoc and UiClassDiagram.puml
Oct 23, 2019
0470241
Update UiClassDiagram.puml
Oct 23, 2019
44417a6
Update UserGuide.adoc for Display feature
Oct 23, 2019
23d6489
Update UserGuide.adoc for Display feature
Oct 23, 2019
808e0ae
Merge branch 'master' into master
mirozo Oct 24, 2019
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
39 changes: 37 additions & 2 deletions docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -170,14 +170,50 @@ an interviewee matches an interview slot if **all** the criteria below are fulfi
**Brief Explanation of the Algorithm** +
Include an **activity diagram** here to summarise the algorithm.


The proposed implementation of this algorithm is to encapsulate the logic of the algorithm into a `command` class under the
`logic` component, possibly with the help of some auxiliary classes. the command is then invoked when the user key in the relevant
command keyword (refer user guide).

when the scheduling algorithm has finished running, it will update the data in the `schedule` objects to reflect the
scheduled time slots, which the changes will be reflected in ui.


=== Display Schedule Feature
==== Proposed Implementation

The display schedule feature extends Scheduler to display multiple tables of schedule per day. It is a component in the "MainWindow" class
stored in a "ScheduleViewPanel" class. Within the "ScheduleViewPanel" class, objects of "ScheduleView" class are stored into the panel.

ScheduleViewPanel implements the following function:
*`fillPanel()` -- Fill the ScheduleView component with the schedule tables for each day.

Given below is an example scenario of what will be displayed to the user.

Step 1. The user launches the application. The Ui will start and the MainWindow will be displayed first.

Step 2. MainWindow will call all the children such as the HelpWindow, CommandBox, Result Display, StatusBarFooter and ScheduleViewPanel.

Step 3. Once ScheduleViewPanel is called, it will take in a list of titles and ObservableList data from the Logic class. The list of titles
consist of the title column for each schedule table and the ObservableList data consists of the time slots allocated to each interviewee.

Step 4. ScheduleViewPanel will call the ScheduleView class to fill each table and populate each table with the data given by the Logic class.

Step 5. ScheduleView will have a .fxml file of a table and it will first be filled with the column titles, followed by the time slots and the
interviewee allocated to each time slots. The slot that has no interviewee will be displayed as "0".

Step 6. Once the data is populated, the MainWindow will display the schedules of each day arranged in a table format.

Step 7. Once User imports a new .csv file, it will call the RefreshListener Interface. RefreshListenerManager will then take in the new titles and
list of ObservableList of interviewee.

Step 8. The RefreshListenerManager will call the MainWindow to refresh the ScheduleViewPanel.

Step 9. ScheduleViewPanel will firstly clear all the data and input the updated data from the .csv file.

// tag::dataencryption[]
=== [Proposed] Data Encryption
=======

=== Logging

We are using `java.util.logging` package for logging. The `LogsCenter` class is used to manage the logging levels and logging destinations.
Expand All @@ -187,7 +223,6 @@ We are using `java.util.logging` package for logging. The `LogsCenter` class is
* Currently log messages are output through: `Console` and to a `.log` file.

*Logging Levels*

* `SEVERE` : Critical problem detected which may possibly cause the termination of the application
* `WARNING` : Can continue, but with caution
* `INFO` : Information showing the noteworthy actions by the App
Expand Down
28 changes: 13 additions & 15 deletions docs/diagrams/UiClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -6,52 +6,50 @@ skinparam classBackgroundColor UI_COLOR

package UI <<Rectangle>>{
Interface Ui <<Interface>>
Interface RefreshListener <<Interface>>
Class "{abstract}\nUiPart" as UiPart
Class RefreshListenerManager
Class UiManager
Class MainWindow
Class HelpWindow
Class ResultDisplay
Class PersonListPanel
Class PersonCard
Class ScheduleViewPanel
Class ScheduleView
Class StatusBarFooter
Class CommandBox
}

package Model <<Rectangle>> {
Class HiddenModel #FFFFFF
}

package Logic <<Rectangle>> {
Class HiddenLogic #FFFFFF
}

Class HiddenOutside #FFFFFF
HiddenOutside ..> Ui
HiddenOutside ..> RefreshListener

RefreshListenerManager .right.|> RefreshListener
UiManager .left.|> Ui
UiManager -down-> MainWindow
UiManager -down---> MainWindow
MainWindow --> HelpWindow
MainWindow *-down-> CommandBox
MainWindow *-down-> ResultDisplay
MainWindow *-down-> PersonListPanel
MainWindow *-down-> ScheduleViewPanel
MainWindow *-down-> StatusBarFooter

PersonListPanel -down-> PersonCard
RefreshListenerManager *-down--> ScheduleViewPanel

MainWindow -left-|> UiPart

ResultDisplay --|> UiPart
CommandBox --|> UiPart
PersonListPanel --|> UiPart
PersonCard --|> UiPart
ScheduleView --|> UiPart
ScheduleViewPanel --|> UiPart
StatusBarFooter --|> UiPart
HelpWindow -down-|> UiPart

PersonCard ..> Model
UiManager -right-> Logic
MainWindow -left-> Logic
RefreshListenerManager -> Logic

PersonListPanel -[hidden]left- HelpWindow
ScheduleViewPanel-[hidden]left- HelpWindow
HelpWindow -[hidden]left- CommandBox
CommandBox -[hidden]left- ResultDisplay
ResultDisplay -[hidden]left- StatusBarFooter
Expand Down
Binary file modified docs/images/UiClassDiagram.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.