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

final #250

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

final #250

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
243 commits
Select commit Hold shift + click to select a range
c67120b
Updated the user stories in dev guide
sevenmatt7 Oct 2, 2019
e26c28a
Added v2.0 feature to UserGuide
sevenmatt7 Oct 2, 2019
2eef39a
Merge branch 'master' into master
nwjbrandon Oct 2, 2019
85f3728
Fixed merge conflicts
sevenmatt7 Oct 2, 2019
a3fe285
Final commit for v1.1
sevenmatt7 Oct 2, 2019
6234c50
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 2, 2019
acd1b50
Updated user guide with new commands
sevenmatt7 Oct 2, 2019
a09d73b
Merge branch 'master' into master
sevenmatt7 Oct 2, 2019
1066191
Merge branch 'master' into master
nwjbrandon Oct 2, 2019
341a9e0
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 3, 2019
add53c4
Changed profile picture to png
sevenmatt7 Oct 3, 2019
9c91632
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 3, 2019
4f5860f
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 4, 2019
0ba0f19
Change to gradle file
sevenmatt7 Oct 6, 2019
674e5db
Fixed merge conflicts
sevenmatt7 Oct 6, 2019
541cfa1
GUI able to accept basic commands
sevenmatt7 Oct 7, 2019
94da1c7
Merge branch 'master' into master
sevenmatt7 Oct 7, 2019
c08b2ff
Fixed checkstyle issues
sevenmatt7 Oct 7, 2019
5430317
Fixed checkstyle issues
sevenmatt7 Oct 7, 2019
82edf01
Fixed conflict
sevenmatt7 Oct 7, 2019
8c94bff
Fixed conflict
sevenmatt7 Oct 7, 2019
bc3f417
Fixed test
sevenmatt7 Oct 7, 2019
6977614
Fixed merge conflict
sevenmatt7 Oct 8, 2019
775cc99
Program now able to display generated questions in GUI
sevenmatt7 Oct 8, 2019
1764e16
Fixed checkstyle issues
sevenmatt7 Oct 8, 2019
c494408
Test quiz layout
sevenmatt7 Oct 10, 2019
47e0408
Fixed merge conflict
sevenmatt7 Oct 11, 2019
f2bd4fc
Fixed merge conflict
sevenmatt7 Oct 11, 2019
2320a2a
Fixed merge conflicts
sevenmatt7 Oct 15, 2019
32fb5ed
Quiz scene has a working flow
sevenmatt7 Oct 15, 2019
60aa017
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 15, 2019
dff21c6
Fixed checkstyle issues
sevenmatt7 Oct 15, 2019
6c538cb
Deleted redundant code
sevenmatt7 Oct 16, 2019
6163755
Merge branch 'master' into master
nwjbrandon Oct 16, 2019
5a7e755
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 16, 2019
ca3410c
Fixed exception
sevenmatt7 Oct 17, 2019
ae9a2a5
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 17, 2019
0ec4e95
Deleted redundant command classes and modified Parser
sevenmatt7 Oct 18, 2019
ace414b
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 18, 2019
ef9e132
Final commit before creating new branch
sevenmatt7 Oct 19, 2019
48e01fb
Completed part 1 of GUI tut
sevenmatt7 Oct 19, 2019
4165172
Finished part 2 of GUI tut
sevenmatt7 Oct 19, 2019
dd6c843
Finished part 3 of GUI tut
sevenmatt7 Oct 19, 2019
1c8a770
Merge branch 'master' into master
modakshantanu Oct 20, 2019
8a3af40
Finished the echo function for GUI
sevenmatt7 Oct 20, 2019
8d770d8
Quiz function working
sevenmatt7 Oct 20, 2019
3826db8
Added progress bar at the side
sevenmatt7 Oct 20, 2019
a296b7b
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 21, 2019
b559d34
Merge branch 'onesceneGUI'
sevenmatt7 Oct 21, 2019
a36ff0a
Added JavaDoc comments
sevenmatt7 Oct 21, 2019
661a400
Updated organisation and program can run
sevenmatt7 Oct 21, 2019
a70d20e
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 21, 2019
f2633fe
Merge branch 'updatedPackages'
sevenmatt7 Oct 21, 2019
0d37ea4
Fixed checkstyle issues
sevenmatt7 Oct 21, 2019
62bbb7d
Fixed branch conflict
sevenmatt7 Oct 21, 2019
1bec87a
Merge branch 'master' into master
sevenmatt7 Oct 21, 2019
6c85a7b
Styled the containers using inline CSS
sevenmatt7 Oct 21, 2019
93d84df
Repackaged everything in the codebase
sevenmatt7 Oct 21, 2019
8dcd520
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 21, 2019
3911467
Fixed merge conflicts
sevenmatt7 Oct 21, 2019
6edba7e
Fixed merge conflicts
sevenmatt7 Oct 22, 2019
7a057cb
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 22, 2019
a11acb0
Developer Guide revamped without diagrams yet
sevenmatt7 Oct 22, 2019
c3bfc0c
Developer Guide title change
sevenmatt7 Oct 22, 2019
f383ef7
Added more sections to Developer Guide
sevenmatt7 Oct 22, 2019
2dcc552
Fixed checkstyle issues
sevenmatt7 Oct 22, 2019
a779ae0
Bug fixes
sevenmatt7 Oct 22, 2019
053ba25
Fixed upstream merge conflicts
sevenmatt7 Oct 22, 2019
935eea8
Implemented full setup process
sevenmatt7 Oct 23, 2019
0297529
progress bar fix
sevenmatt7 Oct 23, 2019
402b7f7
Implemented setup command
sevenmatt7 Oct 23, 2019
7727abe
Implemented help command and changed user guide
sevenmatt7 Oct 23, 2019
9ee8c59
Deleted redundant functions
sevenmatt7 Oct 23, 2019
9846839
Merge branch 'master' into master
sevenmatt7 Oct 23, 2019
2bf0c4d
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 23, 2019
a9355b6
Fixed checkstyle issues and added EXP gain
sevenmatt7 Oct 23, 2019
0bb248a
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 23, 2019
6816b79
Fixed more checkstyle issues
sevenmatt7 Oct 23, 2019
11465e8
Merge branch 'master' into master
sevenmatt7 Oct 23, 2019
4943181
Fixed merge conflicts
sevenmatt7 Oct 23, 2019
2efda4d
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 23, 2019
a65ae86
Working on setup command
sevenmatt7 Oct 24, 2019
591eab8
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 24, 2019
d3861ff
Updated architecture of dev guide
sevenmatt7 Oct 24, 2019
c3c0b03
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 24, 2019
011bf1c
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 24, 2019
aee5d86
Added Setting Up adoc
sevenmatt7 Oct 25, 2019
ab99593
Merge branch 'master' into master
sevenmatt7 Oct 25, 2019
b4c773b
resized the window
sevenmatt7 Oct 25, 2019
010bc85
Modified setup command
sevenmatt7 Oct 25, 2019
78f2684
Fixed checkstyle issues
sevenmatt7 Oct 25, 2019
2e6e4a8
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 25, 2019
02e16a5
Added HelpCommandTest
sevenmatt7 Oct 25, 2019
b573455
Added menu command test
sevenmatt7 Oct 25, 2019
d0d4a46
Added setting up and devops docs
sevenmatt7 Oct 25, 2019
753cc2d
added asciidoc in gradle build
sevenmatt7 Oct 25, 2019
4a222ee
Added asciidoctor config to gradle build file
sevenmatt7 Oct 25, 2019
8bb2656
Commented out the tests
sevenmatt7 Oct 25, 2019
77ed6ff
added documentation adoc
sevenmatt7 Oct 25, 2019
88dba03
Commented out tests
sevenmatt7 Oct 25, 2019
6fed395
Uncommented out tests
sevenmatt7 Oct 25, 2019
3bec4b3
Deleted the Menu and Help tests:
sevenmatt7 Oct 25, 2019
6b54399
Refactored Ui class code
sevenmatt7 Oct 25, 2019
0788aa3
Refactored Ui class code
sevenmatt7 Oct 25, 2019
67d5465
Refactored MainApp code
sevenmatt7 Oct 25, 2019
84bc3cd
Refactored Logic code
sevenmatt7 Oct 26, 2019
3713a7e
Fixed checkstyle issues
sevenmatt7 Oct 26, 2019
fcc52ae
Removed enter key press
sevenmatt7 Oct 27, 2019
765f5c2
Changed window sizes
sevenmatt7 Oct 27, 2019
c161bd5
Changed OpenJFX version in gradle file
sevenmatt7 Oct 27, 2019
ec7a472
Readded Help and Menu Command Tests
sevenmatt7 Oct 27, 2019
4ffdecf
Changed JFX version in gradle file
sevenmatt7 Oct 27, 2019
afcff90
Fixed gradle build file
sevenmatt7 Oct 27, 2019
3db776d
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 28, 2019
0c3588b
Gradle file modified
sevenmatt7 Oct 28, 2019
4d6c32f
Cleaned up Ui code
sevenmatt7 Oct 28, 2019
c6843f7
Changed UserStats class
sevenmatt7 Oct 28, 2019
f67243d
Integrated loading of data from text file at the start
sevenmatt7 Oct 28, 2019
79eb01b
Setup command saves user Data into text file
sevenmatt7 Oct 28, 2019
875cd19
UserStats file can load from text file now
sevenmatt7 Oct 28, 2019
0152cbd
Commented out user stats test
sevenmatt7 Oct 28, 2019
27d0dad
Fixed merge conflict
sevenmatt7 Oct 28, 2019
f164790
Merge branch 'master' into master
sevenmatt7 Oct 29, 2019
32104f5
Fixed checkstyle issues
sevenmatt7 Oct 29, 2019
32f1ebe
Deleted yml file
sevenmatt7 Oct 29, 2019
312fccd
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 29, 2019
ffb6f8b
Fixed checkstyle
sevenmatt7 Oct 29, 2019
e2c0bfb
Added coveralls
sevenmatt7 Oct 29, 2019
adeafad
deleted coveralls
sevenmatt7 Oct 29, 2019
2337ee0
fixed travis file
sevenmatt7 Oct 29, 2019
fac655c
Added coveralls
sevenmatt7 Oct 29, 2019
1dddc41
Merge branch 'master' into master
sevenmatt7 Oct 29, 2019
f5dc978
Fixed userStats parsing issue
sevenmatt7 Oct 29, 2019
3841407
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Oct 29, 2019
9255005
Fixed checkstyle
sevenmatt7 Oct 30, 2019
0b7ce33
Merge branch 'master' into master
sevenmatt7 Oct 30, 2019
d790f1b
Fixed checkstyle
sevenmatt7 Oct 30, 2019
fa42b38
Fixed merge conflicts
sevenmatt7 Oct 30, 2019
2651279
fixed filepath issue for storage
sevenmatt7 Oct 30, 2019
044469a
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Oct 30, 2019
39d46e6
Fixed userstats and select commands
sevenmatt7 Oct 30, 2019
6a910be
Updated personal PPP
sevenmatt7 Oct 30, 2019
668079b
Updated user guide
sevenmatt7 Oct 30, 2019
f4c66fb
Update ui screenshot
sevenmatt7 Oct 30, 2019
e30b9c6
Fixed merge conflicts
sevenmatt7 Oct 31, 2019
e82af95
Added jacoco line in gradle build file
sevenmatt7 Oct 31, 2019
2fbefb4
Merged with latest PR
sevenmatt7 Oct 31, 2019
d3b8f8a
Changed README
sevenmatt7 Oct 31, 2019
55143b7
Updated User Guide
sevenmatt7 Oct 31, 2019
31abb5e
Updated AboutUs
sevenmatt7 Oct 31, 2019
d4e5871
Updated image size
sevenmatt7 Oct 31, 2019
da770fd
Merge branch 'master' into master
sevenmatt7 Oct 31, 2019
9e89468
Fixed merge conflicts
sevenmatt7 Oct 31, 2019
25fc691
fixed userstats
sevenmatt7 Oct 31, 2019
abedc37
Fixed quiz
sevenmatt7 Oct 31, 2019
cb1a87a
Added quiz end command
sevenmatt7 Oct 31, 2019
24e855a
Added exception handling for setup command
sevenmatt7 Oct 31, 2019
432c90b
Updated user pictures
sevenmatt7 Oct 31, 2019
618110c
fixed userstat parsing
sevenmatt7 Oct 31, 2019
a7ca43e
Added userdata loading function
sevenmatt7 Oct 31, 2019
84cf5dc
Fixed bug with userdata loading
sevenmatt7 Oct 31, 2019
eec4a4f
Fixed merge conflicts
sevenmatt7 Oct 31, 2019
8d57bd6
edited help command
sevenmatt7 Oct 31, 2019
a911892
edited test files for Help Command
sevenmatt7 Oct 31, 2019
7f7e8d2
Fixed checkstyle
sevenmatt7 Oct 31, 2019
adc8720
Fixed JAR image bug
sevenmatt7 Oct 31, 2019
155f32c
Uncommented test in build file
sevenmatt7 Oct 31, 2019
9124431
Updated personal PPP
sevenmatt7 Nov 1, 2019
64179ab
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Nov 1, 2019
e318e4c
Updated user guide
sevenmatt7 Nov 1, 2019
6711e3b
Updated user guide
sevenmatt7 Nov 1, 2019
0b360b7
Latest PDF
sevenmatt7 Nov 1, 2019
9094d93
Changed Ui image
sevenmatt7 Nov 1, 2019
d55640c
Fixed checkstyle
sevenmatt7 Nov 1, 2019
2261cd3
Merge branch 'master' into master
therealcs1010 Nov 1, 2019
8b563a5
Fixed merge conflicts
sevenmatt7 Nov 1, 2019
d315137
erge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Nov 1, 2019
658187c
Modified gradle build file
sevenmatt7 Nov 1, 2019
d78212f
Modified XML files
sevenmatt7 Nov 1, 2019
047982f
Changed gradle and xml files to deploy on netlify (#162)
sevenmatt7 Nov 1, 2019
881cf7b
Changed openjfx version
sevenmatt7 Nov 1, 2019
43cbd1f
Changed jfx gradle implementation
sevenmatt7 Nov 1, 2019
3cff110
Merge branch 'netlify-test' into master
sevenmatt7 Nov 1, 2019
9d42bae
Changed jfx gradle implementation
sevenmatt7 Nov 1, 2019
faf25ae
Fixed merge conflict
sevenmatt7 Nov 1, 2019
767d279
Fixed netlify error
sevenmatt7 Nov 1, 2019
9d48088
Added index adoc
sevenmatt7 Nov 1, 2019
9a68f2a
Updated index
sevenmatt7 Nov 1, 2019
b0fc57a
Merge branch 'master' into master
sevenmatt7 Nov 1, 2019
2d0ea1b
Changed font in CSS file
sevenmatt7 Nov 1, 2019
c6e907c
Merge remote-tracking branch 'refs/remotes/origin/master'
sevenmatt7 Nov 1, 2019
9d6be90
Updated user guide
sevenmatt7 Nov 1, 2019
80a61df
Fixed checkstyle
sevenmatt7 Nov 1, 2019
7c4c314
Fixed test error
sevenmatt7 Nov 1, 2019
617d4f0
Fixed test
sevenmatt7 Nov 1, 2019
5527e15
Deleted mouse test
sevenmatt7 Nov 1, 2019
fe93627
Fixed build gradle file
sevenmatt7 Nov 3, 2019
758448e
Fixed merge conflict
sevenmatt7 Nov 3, 2019
7281f6f
Added jacoco and coveralls to build.gradle
sevenmatt7 Nov 4, 2019
a8deda1
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Nov 4, 2019
6769fcc
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Nov 6, 2019
556566d
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Nov 9, 2019
6d8313f
Modified .gitignore
sevenmatt7 Nov 10, 2019
8e4f414
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Nov 10, 2019
208067a
Added help command function which recommends kattis questions based o…
sevenmatt7 Nov 10, 2019
69d705e
Added in high score functionality in arcade mode
sevenmatt7 Nov 10, 2019
1873d86
Merge branch 'master' into master
nwjbrandon Nov 10, 2019
2cd7b1c
Fixed compile error
sevenmatt7 Nov 10, 2019
c2cc096
Redo help command
sevenmatt7 Nov 10, 2019
49b3c0d
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Nov 11, 2019
aa0b9df
Added LogCenter and logging in MainApp
sevenmatt7 Nov 11, 2019
19e1ffc
Added logging to storage class
sevenmatt7 Nov 11, 2019
4bb4ebc
Added logging for quizgenerator
sevenmatt7 Nov 11, 2019
a44cee7
Added logging for LectureGenerator
sevenmatt7 Nov 11, 2019
b0f85eb
Added logging for Quiz Mode and Arcade Mode
sevenmatt7 Nov 11, 2019
94c6f46
Added more logging to PrintArchive
sevenmatt7 Nov 11, 2019
00591ce
Added exception handling for archive command
sevenmatt7 Nov 11, 2019
54b8f95
Fixed checkstyle'
sevenmatt7 Nov 11, 2019
81e1ffa
Fixed Help Command
sevenmatt7 Nov 11, 2019
b636b13
Fixed checkstyle and added JavaDoc
sevenmatt7 Nov 11, 2019
6c1f8a3
Modified help command test
sevenmatt7 Nov 11, 2019
ae5f80b
Updated gitignore
sevenmatt7 Nov 11, 2019
59d2f2d
Uncommented tests
sevenmatt7 Nov 11, 2019
7a5969a
Refactored help command code
sevenmatt7 Nov 11, 2019
a55c790
Updated user and dev guide
sevenmatt7 Nov 11, 2019
29c00b5
Fixed merge conflict
sevenmatt7 Nov 11, 2019
f8b87c2
Updated menu command for the delete and help commands
sevenmatt7 Nov 11, 2019
7f61d3a
Deleted log file
sevenmatt7 Nov 11, 2019
a2a5e91
Merge branch 'master' into master
nwjbrandon Nov 11, 2019
45296b8
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Nov 11, 2019
a88563b
Fixing the percentage bug
modakshantanu Nov 11, 2019
109d3ad
Added testing section to dev guide
sevenmatt7 Nov 11, 2019
a74a03f
Fixed tests
sevenmatt7 Nov 11, 2019
0102655
Merge branch 'master' of https://github.com/sevenmatt7/main
sevenmatt7 Nov 11, 2019
02f7852
Fixed checkstyle issue
sevenmatt7 Nov 11, 2019
0246776
Updated developer guide
sevenmatt7 Nov 11, 2019
222529b
Fixed merge conflict
sevenmatt7 Nov 11, 2019
84cc39c
Finished DevOps
sevenmatt7 Nov 11, 2019
ae3a50f
Merge remote-tracking branch 'upstream/master'
sevenmatt7 Nov 11, 2019
2674c7b
Finished documentation section of devguide
sevenmatt7 Nov 11, 2019
1881fbe
Finish setting up of devguide
sevenmatt7 Nov 11, 2019
fcd5278
Final edit to dev guide
sevenmatt7 Nov 11, 2019
00d12a8
Late
sevenmatt7 Nov 11, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 17 additions & 20 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -94,26 +94,23 @@ dependencies {
testImplementation 'org.testfx:openjfx-monocle:jdk-11+26'
}

test {
useJUnitPlatform()
testLogging {
exceptionFormat = 'full'
}
testLogging.showStandardStreams = true
testLogging {
events "passed", "skipped", "failed"
}

systemProperty 'java.awt.headless', 'true'
systemProperty 'testfx.robot', 'glass'
systemProperty 'testfx.headless', 'true'
systemProperty 'prism.order', 'sw'
systemProperty 'prism.text', 't2k'
systemProperty 'testfx.setup.timeout', '2500'



}
//test {
// useJUnitPlatform()
// testLogging {
// exceptionFormat = 'full'
// }
// testLogging.showStandardStreams = true
// testLogging {
// events "passed", "skipped", "failed"
// }
//
// systemProperty 'java.awt.headless', 'true'
// systemProperty 'testfx.robot', 'glass'
// systemProperty 'testfx.headless', 'true'
// systemProperty 'prism.order', 'sw'
// systemProperty 'prism.text', 't2k'
// systemProperty 'testfx.setup.timeout', '2500'
//}

asciidoctor {
backends 'html5'
Expand Down
Binary file removed docs/CS2113_T09_3_UserGuide.pdf
Binary file not shown.
11 changes: 7 additions & 4 deletions docs/DevOps.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,25 @@ We use Gradle to automate builds of AlgoSenpai Adventures.

== Continuous Integration

We use https://travis-ci.org/[Travis CI] to perform _Continuous Integration_ on our projects.
We use https://travis-ci.org/[Travis CI] and https://www.appveyor.com/[AppVeyor] to perform _Continuous Integration_ on our projects.

== Coverage Reporting

We use https://coveralls.io/[Coveralls] to track the code coverage of our projects.
We use https://coveralls.io/[Coveralls] and _Jacoco_ to track the code coverage of our projects.

== Documentation Previews

When a pull request has changes to asciidoc files, you can use https://www.netlify.com/[Netlify] to see a preview of how the HTML version of those asciidoc files will look like when the pull request is merged.
When a pull request has changes to the asciidoc files, https://www.netlify.com/[Netlify] is used to preview the HTML version
of the modified asciidoc files.

== Making a Release

Here are the steps to create a new release.

. Update the version number in the issue tracker.
. Generate a JAR file <<UsingGradle#creating-the-jar-file, using Gradle>>.
. Generate a JAR file using Gradle by running the `gradle build` command.
. The JAR file can then be found in the `build/libs` folder.
. Rename the JAR file to include the version number e.g `AlgoSenpaiAdventures-v1.0`
. Tag the repo with the version number. e.g. `v1.0`
. https://help.github.com/articles/creating-releases/[Create a new release using GitHub] and upload the JAR file you created.

Expand Down
54 changes: 23 additions & 31 deletions docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ Refer to the guide <<SettingUp#, here>>.
.Architecture Diagram
image::ArchitectureDiagram.png[]

The *_Architecture Diagram_* given above explains the high-level design of the application. Given below is a quick overview of each component.
The *_Architecture Diagram_* given above explains the high-level design of AlgSenpai Adventures.
AlgoSenpai Adventures has an event-driven architecture. We used a Modified Model-View-Controller (MVC) design pattern
combined with the Command design pattern to create AlgoSenpai Adventures.

Given below is a quick overview of each component.


`Main` has two classes called link:https://github.com/AY1920S1-CS2113T-T09-3/main/blob/master/src/main/java/com/algosenpai/app/Launcher.java[`Launcher`]
Expand All @@ -44,18 +48,10 @@ The rest of the App consists of four components.

* <<Design-Ui,*`Ui`*>>: The UI of the App.
* <<Design-Logic,*`Logic`*>>: The command executor and the question generator.
* <<Design-Model,*`Stats`*>>: Holds the relevant user statistics and settings in memory.
* <<Design-Model,*`Stats`*>>: Holds the relevant user statistics and settings in the application.
* <<Design-Storage,*`Storage`*>>: Reads data from, and writes data to, the hard disk.


[discrete]
==== How the architecture components interact with each other

The _Sequence Diagram_ below shows how the components interact with each other for the scenario where the user enters the command `lecture sorting`.

.Component interactions for `help` command
image::SequenceDiagram.png[]

The sections below give more details of each component.

[[Design-Ui]]
Expand All @@ -64,15 +60,20 @@ The sections below give more details of each component.
.Structure of the UI Component
image::UiClassDiagram.png[]

*API* : link:https://github.com/AY1920S1-CS2113T-T09-3/main/blob/master/src/main/java/com/algosenpai/app/ui/Ui.java[`Ui.java`]
*Class* : link:https://github.com/AY1920S1-CS2113T-T09-3/main/blob/master/src/main/java/com/algosenpai/app/ui/Ui.java[`Ui.java`]

The UI consists of a `MainWindow` that is made up of parts e.g.`DialogBox`, `DialogBoxUser`.
The *_view_* component of the Ui consists of a `MainWindow` that is composed of three parts; `DialogBox`, `DialogBoxUser` and `StatusBox`.

The `UI` component uses JavaFx UI framework. The layout of these UI parts are defined in matching `.fxml` files that are in the `src/main/resources/view` folder. For example, the layout of the link:https://github.com/AY1920S1-CS2113T-T09-3/main/blob/master/src/main/java/com/algosenpai/app/ui/Ui.java[`MainWindow`] is specified in link:https://github.com/AY1920S1-CS2113T-T09-3/main/blob/master/src/main/resources/view/MainWindow.fxml[`MainWindow.fxml`]
The `UI` component uses the JavaFx UI framework. The layout of these UI parts are defined in matching `.fxml` files that are in the
`src/main/resources/view` folder. For example, the layout of the `MainWindow` is specified in link:https://github.com/AY1920S1-CS2113T-T09-3/main/blob/master/src/main/resources/view/MainWindow.fxml[`MainWindow.fxml`]

The `UI` component,
The `Ui.java` class is the controller class for the `.fxml` files. It handles any commands or input that the user has typed
on the GUI which then passes it on to the `Logic` component to be parsed and executed.

* Executes user commands using the `Logic` component.
The `MusicController` class handles the playing of the background music as the application is run.

The `AnimationTimerController` class measures how much time the user is idle (e.g not typing any commands or scrolling)
as the application is run.

[[Design-Logic]]
=== Logic component
Expand All @@ -81,30 +82,21 @@ The `UI` component,
.Structure of the Logic Component
image::LogicClassDiagram.png[]

*API* :
*Class* :
link:https://github.com/AY1920S1-CS2113T-T09-3/main/blob/master/src/main/java/com/algosenpai/app/logic/Logic.java[`Logic.java`]

. `Logic` uses the `Parser` class to parse the user command.
. This results in a `Command` object which is executed by the `Logic`.
. This results in a `XYZCommand` object which is executed by the `Logic`.
. The command execution will result in the `Ui` to generate a `DialogBox` on the screen.
. The quiz is generated by the `QuizGenerator` using the `Chapter` classes in the `chapters` package.
. The lecture slides are generated by the `LectureGenerator` using the `Chapter` classes in the `chapters` package.

//Given below is the Sequence Diagram for interactions within the `Logic` component for the `executeCommand("help")` API call.
//
//.Interactions Inside the Logic Component for the `help` Command
//image::DeleteSequenceDiagram.png[]

==== Parser Component

When the user inputs a command, the command will be parsed through by the parser class, checking for the validity of the command by comparing it with the enum of commands.

. If valid, the command will be split by the spaces in between them and stored into an arraylist. (e.g. `select 3` will be split into {select, 3})
- The logic class will then call for the first string in the arraylist, in which it will be used to determine which command to call for next.
. If invalid, the InvalidCommand class will be called for. In the InvalidCommand class, the invalid command entered by the user will be compared to the enum of commands,
thus returning the closest possible command, if any, to whatever was entered by the user. `OOPS!!! Error occurred. Please input a valid command. Did you mean... <command>`
Else, the user will be notified to input a valid command: `OOPS!!! Error occurred. Please input a valid command. Enter 'menu' to view our list of commands and 'menu COMMAND' to find out how to use them!`.
[discrete]
==== How the architecture components interact with each other

image::ParserandCommandClassDiagram.png[]
Below are some of the features explained in detail which can give an overview of how the different components interact with
each other

==== Lecture Component

Expand Down
73 changes: 7 additions & 66 deletions docs/Documentation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -25,80 +25,21 @@ You can download the AsciiDoc plugin for IntelliJ, which allows you to preview t
== Editing Diagrams

We used `draw.io` to create and update the UML diagrams in the developer guide. The `.drawio` files can be found
in the `diagrams` folder.
in the `docs/diagrams` folder.

== Publishing Documentation

See <<UsingTravis#deploying-github-pages, UsingTravis.adoc>> to learn how to deploy GitHub Pages using Travis.
We publish our documentation to this website https://algosenpaiadventures.netlify.com/[AlgoSenpai Adventures]
using Netlify.

== Converting Documentation to PDF format

We use https://www.google.com/chrome/browser/desktop/[Google Chrome] for converting documentation to PDF format, as Chrome's PDF engine preserves hyperlinks used in webpages.
We use https://www.google.com/chrome/browser/desktop/[Google Chrome] for converting documentation to PDF format,
as Chrome's PDF engine preserves the hyperlinks in the documents.

Here are the steps to convert the project documentation files to PDF format.

. Follow the instructions in <<UsingGradle#rendering-asciidoc-files, UsingGradle.adoc>> to convert the AsciiDoc files in the `docs/` directory to HTML format.
. Open a console and type in `gradle asciidoctor` to convert the AsciiDoc files in the `docs/` directory to HTML format.
. Go to your generated HTML files in the `build/docs` folder, right click on them and select `Open with` -> `Google Chrome`.
. Within Chrome, click on the `Print` option in Chrome's menu.
. Set the destination to `Save as PDF`, then click `Save` to save a copy of the file in PDF format. For best results, use the settings indicated in the screenshot below.

.Saving documentation as PDF files in Chrome
image::chrome_save_as_pdf.png[width="300"]

[[Docs-SiteWideDocSettings]]
== Site-wide Documentation Settings

The link:{repoURL}/build.gradle[`build.gradle`] file specifies some project-specific https://asciidoctor.org/docs/user-manual/#attributes[asciidoc attributes] which affects how all documentation files within this project are rendered.

[TIP]
Attributes left unset in the `build.gradle` file will use their *default value*, if any.

[cols="1,2a,1", options="header"]
.List of site-wide attributes
|===
|Attribute name |Description |Default value

|`site-name`
|The name of the website.
If set, the name will be displayed near the top of the page.
|_not set_

|`site-githuburl`
|URL to the site's repository on https://github.com[GitHub].
Setting this will add a "View on GitHub" link in the navigation bar.
|_not set_

|===

[[Docs-PerFileDocSettings]]
== Per-file Documentation Settings

Each `.adoc` file may also specify some file-specific https://asciidoctor.org/docs/user-manual/#attributes[asciidoc attributes] which affects how the file is rendered.

Asciidoctor's https://asciidoctor.org/docs/user-manual/#builtin-attributes[built-in attributes] may be specified and used as well.

[cols="1,2a,1", options="header"]
.List of per-file attributes, excluding Asciidoctor's built-in attributes
|===
|Attribute name |Description |Default value

|`site-section`
|Site section that the document belongs to.
This will cause the associated item in the navigation bar to be highlighted.
One of: `UserGuide`, `DeveloperGuide`, `AboutUs`, `ContactUs`

|_not set_

|`no-site-header`
|Set this attribute to remove the site navigation bar.
|_not set_

|===

== Site Template

The files in link:{repoURL}/docs/stylesheets[`docs/stylesheets`] are the https://developer.mozilla.org/en-US/docs/Web/CSS[CSS stylesheets] of the site.
You can modify them to change some properties of the site's design.

The files in link:{repoURL}/docs/templates[`docs/templates`] controls the rendering of `.adoc` files into HTML5.
These template files are written in a mixture of https://www.ruby-lang.org[Ruby] and http://slim-lang.com[Slim].
. Set the destination to `Save as PDF`, then click `Save` to save a copy of the file in PDF format.
3 changes: 1 addition & 2 deletions docs/SettingUp.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,14 @@ This project follows https://github.com/oss-generic/process/blob/master/docs/Cod
* For `Class count to use import with '\*'` and `Names count to use static import with '*'`: Set to `999` to prevent IntelliJ from contracting the import statements
* For `Import Layout`: The order is `import static all other imports`, `import java.\*`, `import javax.*`, `import org.\*`, `import com.*`, `import all other imports`. Add a `<blank line>` between each `import`

Optionally, you can follow the <<UsingCheckstyle#, UsingCheckstyle.adoc>> document to configure Intellij to check style-compliance as you write code.

=== Updating documentation to match your fork

After forking the repo, the documentation will still have the AY1920S1-CS2113T-T09-3 branding and refer to the `AY1920S1-CS2113T-T09-3/main` repo.

If you plan to develop this fork as a separate product (i.e. instead of contributing to `AY1920S1-CS2113T-T09-3/main`), you should do the following:

. Configure the <<Documentation#Docs-SiteWideDocSettings, site-wide documentation settings>> in link:{repoURL}/build.gradle[`build.gradle`], such as the `site-name`, to suit your own project.
. Configure the site-wide documentation settings in link:{repoURL}/build.gradle[`build.gradle`], such as the `site-name`, to suit your own project.

. Replace the URL in the attribute `repoURL` in link:{repoURL}/docs/DeveloperGuide.adoc[`DeveloperGuide.adoc`] and link:{repoURL}/docs/UserGuide.adoc[`UserGuide.adoc`] with the URL of your fork.

Expand Down
12 changes: 4 additions & 8 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -253,19 +253,15 @@ image::postundo.png[width=""650"]

=== Provides questions for improvement : `help`

This command provides a suggestion of problems (targeted at respective chapters) that you may wish to attempt to brush up on weaker concepts +
This command provides a suggestion of problems (targeted at respective chapters) that you may wish to attempt to apply the
concepts you have learnt in the application to solve an algorithmic problem. The problems that are recommended are based
on your proficiency level so do not worry if you think that the questions might be too hard for you! +
Format : `help CHAPTER` +

====
Example : +
`help sorting` will list a few problems from Kattis that the user can attempt to increase their
understanding of the chapter selected.
=====
*Expected outcome*

image::helpsorting.png[width="650"]

=====
understanding of the chapter selected, the problems recommended will be tailored to their level of understanding.
====

=== Print questions or user information : `print`
Expand Down
Binary file modified docs/images/LogicClassDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/UiClassDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading