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

[T7][W11-C3] #75

Open
wants to merge 645 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
645 commits
Select commit Hold shift + click to select a range
39dd1c3
Test case for storage memory
LuMiN0uSaRc Oct 30, 2016
44d4c6a
Testing of deadline for storage memory
LuMiN0uSaRc Oct 30, 2016
8d3bbe1
test for events memory storage
LuMiN0uSaRc Oct 30, 2016
cb4c51f
Merge pull request #177 from CS2103AUG2016-W11-C3/Storage_Memory_Test
LuMiN0uSaRc Oct 30, 2016
4437b72
Updated test cases
LuMiN0uSaRc Oct 30, 2016
ca4b216
fixed test cases
LuMiN0uSaRc Oct 30, 2016
9f5c81c
Merge pull request #178 from CS2103AUG2016-W11-C3/Storage_Memory_Test
LuMiN0uSaRc Oct 30, 2016
47528a8
Refactoring. Added TaskBuilder and AddCommandBuilder.
Oct 30, 2016
f2cd92e
Update comment.
Oct 30, 2016
3b90dd9
Merge pull request #179 from CS2103AUG2016-W11-C3/refactoring/add-com…
Oct 30, 2016
9727586
add ImportCommand
zavfel Oct 30, 2016
bdb1891
Merge pull request #180 from CS2103AUG2016-W11-C3/importCommand
zavfel Oct 30, 2016
15a763f
Merge branch 'master' into importCommand
zavfel Oct 30, 2016
7f4bc43
Refactor isDue to improve SLAP.
Oct 30, 2016
d29727c
Added @@author at appropriate place. Added comments header.
Oct 30, 2016
bb95d46
Merge pull request #181 from CS2103AUG2016-W11-C3/refactor/issue-168-…
Oct 30, 2016
a33d807
refactoring, removing of confirm with user
bertojo Oct 30, 2016
0f989a8
test cases for xmlTaskManagerStorage
bertojo Oct 30, 2016
df06141
more test cases for storage
bertojo Oct 30, 2016
a643737
Merge branch 'master' into RelocateCommandTest
bertojo Oct 30, 2016
bb0c878
Merge pull request #182 from CS2103AUG2016-W11-C3/RelocateCommandTest
bertojo Oct 30, 2016
f1edc03
major refactoring
zavfel Oct 30, 2016
fd96f74
Merge branch 'master' into importCommand
zavfel Oct 30, 2016
49d8135
update UnmarkCommandTest
zavfel Oct 30, 2016
0bb47ec
refactor testcase
zavfel Oct 30, 2016
351ceab
update MarkCommandTest
zavfel Oct 31, 2016
f74d179
hotfix: remove duplicate methods.
Oct 31, 2016
d4800c6
hotfix: temporary fix for generic memory. Need to decouple Command an…
Oct 31, 2016
d768c27
Added ImportIcsCommand to allow importing iCal format into Mastermind.
Oct 31, 2016
fd360dc
Added test cases for Import ICS.
Oct 31, 2016
04541a1
Merge pull request #187 from CS2103AUG2016-W11-C3/feature/import-ics
Oct 31, 2016
91f46b8
Added ExportCommand to export to csv.
Oct 30, 2016
7e14022
remove unnecessary exceptions
zavfel Oct 31, 2016
7b67886
Added test cases.
Oct 31, 2016
7ada980
Merge pull request #184 from CS2103AUG2016-W11-C3/feature/export-csv
Oct 31, 2016
39cc99c
Merge branch 'master' into importCommand
zavfel Nov 1, 2016
eedc3f4
update import
zavfel Nov 1, 2016
1ee6ccf
add relocateSaveLocation back
zavfel Nov 1, 2016
2a5fcd6
UI changes to move Action History to a collapsible titled Pane
Nov 1, 2016
ede18df
Added ActionHistoryCOmmand to toggle UI.
Nov 1, 2016
dcdaaa2
Change the description of empty table.
Nov 1, 2016
9fa9821
Merge pull request #189 from CS2103AUG2016-W11-C3/enhancement/action-…
Nov 1, 2016
854b1d0
import from csv files
zavfel Nov 1, 2016
0ef435e
Merge branch 'master' into importCommand
zavfel Nov 1, 2016
d20baf0
Merge pull request #186 from CS2103AUG2016-W11-C3/importCommand
zavfel Nov 1, 2016
622c6f9
fix test case
zavfel Nov 1, 2016
38a6be9
minor changes to import
zavfel Nov 1, 2016
6dafd69
Merge pull request #190 from CS2103AUG2016-W11-C3/importCommand
zavfel Nov 1, 2016
e975218
Merge branch 'master' into markCommand
zavfel Nov 1, 2016
86793f7
fix bug in import
zavfel Nov 1, 2016
4fb56d6
allow marking of due tasks
zavfel Nov 2, 2016
ce19a3d
Merge pull request #191 from CS2103AUG2016-W11-C3/markCommand
zavfel Nov 2, 2016
0bbb69b
update user/dev guide
zavfel Nov 2, 2016
db678d3
update aboutUs
bertojo Nov 2, 2016
22cdb79
fix test case in logicmanager
zavfel Nov 2, 2016
183a2b3
Merge pull request #193 from CS2103AUG2016-W11-C3/fix-mark-test-case
zavfel Nov 2, 2016
aa1dfa1
update UI image
zavfel Nov 2, 2016
777cf41
Update collate for v0,5rc
Nov 2, 2016
456409f
Merge pull request #196 from CS2103AUG2016-W11-C3/documentation/colla…
Nov 2, 2016
8ebfd96
added assertions
bertojo Oct 30, 2016
95cb887
add comments
bertojo Oct 30, 2016
3d82159
decoupled storage and logic
bertojo Oct 31, 2016
66a8b8a
added comments
bertojo Oct 31, 2016
cd7f92b
removed some unused imports
bertojo Oct 31, 2016
e24c63b
added test cases for storage manager
bertojo Oct 31, 2016
24f3f47
added more test cases
bertojo Oct 31, 2016
0879815
take out unneeded code
bertojo Oct 31, 2016
d3100c8
refactored storage manager
bertojo Nov 1, 2016
6fb7da9
added tests to config
bertojo Nov 1, 2016
fd0eab8
more test cases for config
bertojo Nov 1, 2016
5a2434b
more test cases to config
bertojo Nov 1, 2016
f8ee23f
Minor config fix. Remove duplicate methods.
Nov 2, 2016
5c28bb4
Merge pull request #188 from CS2103AUG2016-W11-C3/RelocateCommandTest
Nov 2, 2016
69d31bd
Merge pull request #198 from CS2103AUG2016-W11-C3/help_popup_window
LuMiN0uSaRc Nov 2, 2016
14cd280
Restyle to Monokai.
Nov 2, 2016
633de9d
Merge pull request #199 from CS2103AUG2016-W11-C3/enhancement/ui
Nov 2, 2016
62ef5bc
add test for helpCommand
bertojo Nov 2, 2016
b736b3f
fixed potential bug and made a ui test folder
bertojo Nov 2, 2016
9d80c58
minor edits to popup window
LuMiN0uSaRc Nov 2, 2016
f02a1fa
Revert "minor edits to popup window"
LuMiN0uSaRc Nov 2, 2016
6b6d002
refactor code and add test cases
bertojo Nov 2, 2016
2ffeb64
dk what i was doing
bertojo Nov 2, 2016
2332190
removed ui test first
bertojo Nov 3, 2016
65eb51e
Merge branch 'master' into helpPopupTestAndRefine
bertojo Nov 3, 2016
0e7bdc6
Merge pull request #201 from CS2103AUG2016-W11-C3/helpPopupTestAndRefine
bertojo Nov 3, 2016
b09ffc0
trying to make a table view
bertojo Nov 3, 2016
e0a33c0
updated help popup's content
bertojo Nov 3, 2016
728b8dd
hotfix: missing brackets.
Nov 3, 2016
f64f036
Updated popup
LuMiN0uSaRc Nov 3, 2016
6e9953b
Merge branch 'master' of https://github.com/CS2103AUG2016-W11-C3/main
LuMiN0uSaRc Nov 3, 2016
f67b065
created table for popup, does not show in mastermind though
bertojo Nov 3, 2016
da7dd8b
some refactoring and bug fixing
bertojo Nov 3, 2016
0219a0d
improve code quality
bertojo Nov 3, 2016
a121138
Added Import command test.
Nov 3, 2016
9be9382
Remove git ignore contraint on csv.
Nov 3, 2016
423dc2f
Merge pull request #203 from CS2103AUG2016-W11-C3/test/importCommand
Nov 3, 2016
ab5d4e2
commented out the deprecated constructor.
Nov 3, 2016
5600e21
Merge pull request #204 from CS2103AUG2016-W11-C3/test/add-command
Nov 3, 2016
8e97489
popup with table working but content not set yet.
bertojo Nov 3, 2016
ebda16a
fix mark due
zavfel Nov 3, 2016
6cbf08c
Merge pull request #205 from CS2103AUG2016-W11-C3/markDue
zavfel Nov 3, 2016
ce24c5c
added author
bertojo Nov 3, 2016
ea96f70
update UI
zavfel Nov 3, 2016
5f4cf29
add highlight for marking recurring
zavfel Nov 4, 2016
8996bee
Merge pull request #213 from CS2103AUG2016-W11-C3/highlightMarkTask
zavfel Nov 4, 2016
efa468b
some refactoring and initialising
bertojo Nov 4, 2016
a0535c7
command format init
bertojo Nov 4, 2016
47e43c4
added description list
bertojo Nov 4, 2016
d338011
help popup working with updated content
bertojo Nov 4, 2016
0d6d558
Merge branch 'master' into HelpPopupTableView
bertojo Nov 4, 2016
6776897
Merge pull request #215 from CS2103AUG2016-W11-C3/HelpPopupTableView
bertojo Nov 4, 2016
5ee574e
Merge pull request #197 from CS2103AUG2016-W11-C3/Sort_Memory
LuMiN0uSaRc Nov 5, 2016
0c9c7ac
Separated Memory methods out of Storage interface
LuMiN0uSaRc Nov 5, 2016
5e9a280
Updated storage memory test case
LuMiN0uSaRc Nov 5, 2016
54eb7b9
Merge pull request #219 from CS2103AUG2016-W11-C3/Refactoring_Storage…
LuMiN0uSaRc Nov 5, 2016
831d6a1
getCommand() for memory
LuMiN0uSaRc Nov 5, 2016
ffbc65f
setCommand()
LuMiN0uSaRc Nov 5, 2016
392ad5a
setTaskName()
LuMiN0uSaRc Nov 5, 2016
db92d44
Memory setDescription, setLength, setType
LuMiN0uSaRc Nov 5, 2016
a01be36
Methods for ParserMemory updated
LuMiN0uSaRc Nov 5, 2016
4b236fd
Merge pull request #220 from CS2103AUG2016-W11-C3/Update_Parser_Memory
LuMiN0uSaRc Nov 5, 2016
72d5b73
command, name, description and length for parsermemory test case
LuMiN0uSaRc Nov 5, 2016
b5b290b
Updated more test cases
LuMiN0uSaRc Nov 5, 2016
b577438
test setdate
LuMiN0uSaRc Nov 5, 2016
feafa26
test setTime
LuMiN0uSaRc Nov 5, 2016
e441098
test_reduce() and test_isUselessCommand()
LuMiN0uSaRc Nov 5, 2016
df53e32
Removed lines in ParserSearch for Memory
LuMiN0uSaRc Nov 5, 2016
a3a9300
Merge pull request #221 from CS2103AUG2016-W11-C3/test_parser_memory
LuMiN0uSaRc Nov 5, 2016
d69a0c9
Improve nlp.
Nov 5, 2016
fa76a7f
Merge pull request #222 from CS2103AUG2016-W11-C3/enhancement/add-com…
Nov 5, 2016
2169fcf
TestEvent for Sort function
LuMiN0uSaRc Nov 5, 2016
1621d56
testDeadline and testTask for sort
LuMiN0uSaRc Nov 5, 2016
b74c333
Remove uneccessary lines
LuMiN0uSaRc Nov 5, 2016
ebf656a
Merge pull request #223 from CS2103AUG2016-W11-C3/Sort_Testing
LuMiN0uSaRc Nov 5, 2016
2bb5c98
bug fix for excluding single quotes in capture group.
Nov 5, 2016
e54ea97
Merge pull request #224 from CS2103AUG2016-W11-C3/enhancement/add-com…
Nov 5, 2016
e831a1b
History for Memory
LuMiN0uSaRc Nov 5, 2016
ffd7003
relocate command test cases and bug fix
bertojo Nov 5, 2016
36a3dd0
Merge pull request #225 from CS2103AUG2016-W11-C3/RelocateIntegration…
bertojo Nov 5, 2016
e0a7a5e
Major UI decoupling
Nov 4, 2016
c3a1cd8
Have to recover duplicated tableview so test case will pass :(
Nov 4, 2016
23b772e
Merge pull request #214 from CS2103AUG2016-W11-C3/refactor/ui-class-s…
Nov 5, 2016
4d54cfd
Merge pull request #226 from CS2103AUG2016-W11-C3/History_Memory
LuMiN0uSaRc Nov 5, 2016
7e34f09
Added IMPORTED tag to all task imported through csv and ics. txt base…
Nov 5, 2016
b7aaa39
Merge pull request #227 from CS2103AUG2016-W11-C3/enhancement/issue-1…
Nov 5, 2016
32b280c
updated delete command for memory
LuMiN0uSaRc Nov 5, 2016
33ec13f
finished find and delete for memory!!
LuMiN0uSaRc Nov 6, 2016
18ed8bb
debugging in progress
LuMiN0uSaRc Nov 6, 2016
b6bf628
Edit command now uses comma to separate keywords
Nov 6, 2016
dfdc0a4
Merge pull request #228 from CS2103AUG2016-W11-C3/Delete_Memory
LuMiN0uSaRc Nov 6, 2016
def89bc
Refactoring to improve SLAP
Nov 6, 2016
562ad7f
Merge pull request #229 from CS2103AUG2016-W11-C3/enhancement/edit-co…
Nov 6, 2016
e94fd7f
Bug fix for issue 209
Nov 6, 2016
f736f9f
fix #183
zavfel Nov 6, 2016
48e960b
Merge pull request #231 from CS2103AUG2016-W11-C3/bugs/issue-209-mark…
Nov 6, 2016
7610118
fix column titles
zavfel Nov 6, 2016
8fa32f8
correct typo for author
LuMiN0uSaRc Nov 6, 2016
1aa8df5
add color to archived tasks
zavfel Nov 6, 2016
ab37b75
fix column size
zavfel Nov 6, 2016
6aeb4d6
resolve mainWindow.java
zavfel Nov 6, 2016
985d4f4
fixes #210 #216 #212
zavfel Nov 6, 2016
7db86bc
main collates
LuMiN0uSaRc Nov 6, 2016
e71fa25
test collates
LuMiN0uSaRc Nov 6, 2016
34b2797
Merge pull request #232 from CS2103AUG2016-W11-C3/Refactoring_and_cor…
LuMiN0uSaRc Nov 6, 2016
f541462
Merge pull request #234 from CS2103AUG2016-W11-C3/Updating_collate
LuMiN0uSaRc Nov 6, 2016
d1a91b4
Shorten the actionhistory command to just history
Nov 6, 2016
01a881b
Merge pull request #235 from CS2103AUG2016-W11-C3/enhancement/actionh…
Nov 6, 2016
a34c670
update importing of csv file
zavfel Nov 6, 2016
dbe54b0
remove printouts
zavfel Nov 6, 2016
3129098
Test case for find memory
LuMiN0uSaRc Nov 6, 2016
009af77
remove unnecessary imports
zavfel Nov 6, 2016
87e5be9
Merge pull request #236 from CS2103AUG2016-W11-C3/Test_Memory_Find
LuMiN0uSaRc Nov 6, 2016
76437b6
Merge pull request #237 from CS2103AUG2016-W11-C3/update-features
zavfel Nov 6, 2016
7c8eead
Revert "Merge pull request #237 from CS2103AUG2016-W11-C3/update-feat…
zavfel Nov 6, 2016
974737d
re-oredering the table entries
bertojo Nov 6, 2016
724f2ee
added test case for helpCommand
bertojo Nov 6, 2016
f34eda2
resizing popup
bertojo Nov 6, 2016
14141be
added some logging
bertojo Nov 6, 2016
005b1c9
standardise entry's inputs
bertojo Nov 6, 2016
9febdbc
Merge pull request #238 from CS2103AUG2016-W11-C3/RefactoringHelpCommand
bertojo Nov 6, 2016
30659f7
bunch of testcases
LuMiN0uSaRc Nov 7, 2016
af882f3
fix test case and update config file for testing
zavfel Nov 7, 2016
6fe469c
fix configUtilTest
zavfel Nov 7, 2016
3889ca8
more testcases to cover more lines
LuMiN0uSaRc Nov 7, 2016
45d4c02
removes printlns
zavfel Nov 7, 2016
7fd53e9
resolve conflict in import
zavfel Nov 7, 2016
c43a9ef
Merge branch 'update-features'
zavfel Nov 7, 2016
2051572
And more test cases...
LuMiN0uSaRc Nov 7, 2016
fde854e
fix configTest file
zavfel Nov 7, 2016
fced710
test cases for comparison between memory objects
LuMiN0uSaRc Nov 7, 2016
e486ce0
testcases for generic memory done! ;A;
LuMiN0uSaRc Nov 7, 2016
e351ce3
fix highlight
zavfel Nov 7, 2016
b53ba69
debugging in progress
LuMiN0uSaRc Nov 7, 2016
58d1f87
Merge pull request #241 from CS2103AUG2016-W11-C3/fix-config-test
zavfel Nov 7, 2016
bd9aea9
Covering more lines in progress under events
LuMiN0uSaRc Nov 7, 2016
2c81d67
Fix test cases
LuMiN0uSaRc Nov 7, 2016
7b44bfb
Merge pull request #240 from CS2103AUG2016-W11-C3/Test_cases_for_Gene…
LuMiN0uSaRc Nov 7, 2016
bccba43
Fix typo for
Nov 7, 2016
10c7e0b
Merge pull request #242 from CS2103AUG2016-W11-C3/hotfix/highlight-la…
Nov 7, 2016
fc84ca9
allow finding in specific tabs
zavfel Nov 7, 2016
db82d8f
Merge pull request #243 from CS2103AUG2016-W11-C3/fix-find
zavfel Nov 7, 2016
6ed1e42
increase coverage for CommandBox
zavfel Nov 7, 2016
0ecf388
fix test case in memoryFind
zavfel Nov 7, 2016
c819d0a
add mark due test
zavfel Nov 7, 2016
5d63f66
Merge pull request #244 from CS2103AUG2016-W11-C3/increase-coverage
zavfel Nov 7, 2016
d22a13d
Improve SLAP.
Nov 7, 2016
f71bd5c
remove unnecessary author tags.
Nov 7, 2016
4ca97a7
Refactor UI.
Nov 7, 2016
44fc6ed
Added author tag.
Nov 7, 2016
1ca8954
updated help to show find tag and updated test case
bertojo Nov 7, 2016
0c1b0ed
add Edit test
zavfel Nov 7, 2016
3c7290e
removed unused class
zavfel Nov 7, 2016
8573238
Merge pull request #245 from CS2103AUG2016-W11-C3/addCoverage
zavfel Nov 7, 2016
0858153
remove unused import
zavfel Nov 7, 2016
e793157
updated help for find tag
bertojo Nov 7, 2016
9e50fd2
remove the sort by pressing table header functionality
bertojo Nov 7, 2016
b45f8a5
update TestTask
zavfel Nov 7, 2016
46cd53d
Merge pull request #246 from CS2103AUG2016-W11-C3/UpdatingHelpTable
bertojo Nov 7, 2016
45d5eba
removed testrecusrivesearchterms
LuMiN0uSaRc Nov 7, 2016
f95def9
Merge pull request #247 from CS2103AUG2016-W11-C3/Debug_Test_Memory_Find
LuMiN0uSaRc Nov 7, 2016
850c418
i tried
LuMiN0uSaRc Nov 7, 2016
a7460ab
add Upcoming test
zavfel Nov 7, 2016
e98e1d0
add find tag test
zavfel Nov 7, 2016
f3cf096
Merge pull request #249 from CS2103AUG2016-W11-C3/updateTest
zavfel Nov 7, 2016
5907c87
magic
LuMiN0uSaRc Nov 7, 2016
a476a9c
Merge pull request #250 from CS2103AUG2016-W11-C3/removing_println()
LuMiN0uSaRc Nov 7, 2016
41803b5
Merge pull request #248 from CS2103AUG2016-W11-C3/Test_ParserSearch
LuMiN0uSaRc Nov 7, 2016
6cdb495
update author
LuMiN0uSaRc Nov 7, 2016
5837f29
removed unusued code
LuMiN0uSaRc Nov 7, 2016
7868e01
Added manual testing step.
Nov 7, 2016
788b6ce
Merge pull request #252 from CS2103AUG2016-W11-C3/test/manual-testing
Nov 7, 2016
7905e78
removed lines of code
LuMiN0uSaRc Nov 7, 2016
1942535
remove unused lines...
LuMiN0uSaRc Nov 7, 2016
022f192
commeneted
LuMiN0uSaRc Nov 7, 2016
295e334
Merge pull request #251 from CS2103AUG2016-W11-C3/Refactoring_and_add…
LuMiN0uSaRc Nov 7, 2016
3816baa
Merge pull request #253 from CS2103AUG2016-W11-C3/Remove_history_code
LuMiN0uSaRc Nov 7, 2016
6529316
tagging and comments
bertojo Nov 7, 2016
092002c
editted comments
LuMiN0uSaRc Nov 7, 2016
38fec63
Merge pull request #255 from CS2103AUG2016-W11-C3/Hui_Qi_editting_com…
LuMiN0uSaRc Nov 7, 2016
f61cf1b
Merge pull request #254 from CS2103AUG2016-W11-C3/0.5AlbertTagging
Nov 7, 2016
d031d08
updated tags
bertojo Nov 7, 2016
85572f1
Merge pull request #256 from CS2103AUG2016-W11-C3/0.5DylanTagging
bertojo Nov 7, 2016
1923799
added DG & UG.
Nov 7, 2016
77619bb
Added logger.
Nov 7, 2016
9579aec
Update about me.
Nov 7, 2016
ee29ad3
update images
zavfel Nov 7, 2016
5559f47
added in memory
bertojo Nov 7, 2016
1a85fe6
Merge pull request #258 from CS2103AUG2016-W11-C3/fixImage
zavfel Nov 7, 2016
92608aa
Collate.
Nov 7, 2016
07ae40a
Merge branch 'master' of github.com:CS2103AUG2016-W11-C3/main
Nov 7, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ lib/*
*.iml
*.log
*.log.*
*.csv
config.json
src/test/data/sandbox/
preferences.json
Expand All @@ -14,3 +13,6 @@ preferences.json
classes/
/data/
/bin/
gradle.prefs
org.eclipse.jdt.core.prefs
data.txt
4 changes: 2 additions & 2 deletions .project
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>addressbook-level4</name>
<comment>Project addressbook-level4 created by Buildship.</comment>
<name>Mastermind</name>
<comment>this is a to do task manager.</comment>
<projects>
</projects>
<buildSpec>
Expand Down
4 changes: 2 additions & 2 deletions .settings/org.eclipse.buildship.core.prefs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ connection.gradle.user.home=null
connection.java.home=null
connection.jvm.arguments=
connection.project.dir=
derived.resources=.gradle,build
derived.resources=.gradle.build
eclipse.preferences.version=1
natures=org.eclipse.jdt.core.javanature
project.path=\:
project.path=\:
22 changes: 8 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
[![Build Status](https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master)](https://travis-ci.org/se-edu/addressbook-level4)
[![Coverage Status](https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master)](https://coveralls.io/github/se-edu/addressbook-level4?branch=master)
[![Build Status](https://travis-ci.org/CS2103AUG2016-W11-C3/main.svg?branch=master)](https://travis-ci.org/CS2103AUG2016-W11-C3/main/builds)
[![Coverage Status](https://coveralls.io/repos/github/CS2103AUG2016-W11-C3/main/badge.svg?branch=master)](https://coveralls.io/github/CS2103AUG2016-W11-C3/main?branch=master)

# Address Book (Level 4)
# Mastermind

<img src="docs/images/Ui.png" width="600"><br>
<img src="docs/images/latest_ui.png" width="600"><br>

* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using
* This is a desktop task manager application called Mastermind. It has a GUI but most of the user interactions is through
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.
* What's different from [level 3](https://github.com/se-edu/addressbook-level3):
* 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.

* Mastermind is a powerful task manager that allow users to manage tasks anywhere and get things done.
* Mastermind is catered towards users that spend most of their time on the computer and prefer to use keyboard over mouse as inputs.

#### Site Map
* [User Guide](docs/UserGuide.md)
Expand All @@ -29,6 +22,7 @@

* Some parts of this sample application were inspired by the excellent
[Java FX tutorial](http://code.makery.ch/library/javafx-8-tutorial/) by *Marco Jakob*.
* This application is inspired from the [sample projects](https://github.com/se-edu/) created by SE_EDU initiatives


#### Licence : [MIT](LICENSE)
5 changes: 5 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ allprojects {
compile "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion"
compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonDataTypeVersion"
compile "com.google.guava:guava:$guavaVersion"
compile 'org.ocpsoft.prettytime:prettytime:4.0.1.Final'
compile 'org.ocpsoft.prettytime:prettytime-nlp:4.0.0.Final'
compile 'net.sf.biweekly:biweekly:0.6.0'
compile group: 'org.apache.commons', name: 'commons-csv', version: '1.1'


testCompile "junit:junit:$junitVersion"
testCompile "org.testfx:testfx-core:$testFxVersion"
Expand Down
210 changes: 210 additions & 0 deletions collated/docs/A0124797R.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
# A0124797R
###### /UserGuide.md
``` md

### Finding tasks that contain any keywords: `find`

Even with the list category feature, scrolling through possibly thousands of tasks to find a specific one can be quite troublesome. Fret not! _Mastermind_ provides you with the `find` command to quickly search for a specific task your are looking for.

`find` command displays a result of all tasks whose description contain any of the given keywords.

_Format:_

```java
find <keyword>...
```

>* The search is case-insensitive.
>* The order of the keywords does not matter.
>* Tasks matching at least one keyword will be returned.

_Examples:_

```java
// returns Dinner on 10/10/16 at 1900hrs (Date)
> find Dinner
```
```java
// returns CS2010 PS10 on 11 Oct by 1000hrs (Assignment)
> find "cs2010 ps10"
```
> using find will always switch back to the home tab.

### Finding all tasks that contain specific tags: `findtag`

You have tagged your tasks previously and now you want to know what tasks are in that category.
you can use `findtag` command to quickly search for tasks that are tagged with that specific tag.

`findtag` command display result of all tasks whose tags contain the given keywords.

_Format:_

```java
findtag <keyword>...
```

>* The search is case-sensitive.
>* The order of the keywords does not matter.
>* Tasks matching at least one keyword will be returned.

_Examples:_

```java
// returns Dinner on 10/10/16 at 1900hrs (Date)
> findtag date
```


### Show upcoming tasks : `upcoming`

What if you have too many task to do and only want to know tasks that are going to be due. You can ask _Mastermind_ to list `upcoming` tasks!

_Format:_
```java
upcoming [tab_name]
```

> * Shows all floating tasks as well if there is no `[tab_name]` included.
> * Does not show tasks that are already due.

_Examples:_
```java
// list all tasks that are due within a weeks time.
> upcoming
```
```java
// list all deadlines that are due within a weeks time.
> upcoming deadlines
```



### Changing save location : `relocate`

_Mastermind_ allows you to relocate the save file to a new destination folder.

_Format:_
```
relocate <new_folder_destination>
```

_Example:_
```java
// save file has been relocated to new destination folder at ~/document/mastermind
> relocate ~/document/mastermind
```

> You can relocate into a cloud shared folder to access your save data from any other computer!
>
> Remember to input a folder and not a file!

### Importing file : `import`

_Mastermind_ allows you to import file from other to do list into _Mastermind_.

Currently _Mastermind_ supports _.csv_ and _.ics_ file.

> _.csv_ must be compliant to Google Calendar [specification](https://support.google.com/calendar/answer/37118?hl=en).

_Format:_
```
import from <file location>
```

_Example:_
```java
// import success
> import from ~/document/mastermind/data.ics
```

### Exporting data: `export`

_Mastermind_ can assist you in exporting your data to _.csv_ format too. The _.csv_ file is fully compatible with Google Calendar so you can use it to synchronize with your personal calendar.

_Format:_
```java
export [tasks] [deadlines] [events] [archives] to <destination_file_path>
```

_Example:_
```java
// export all data to personal folder
> export to C:\Users\Jim\mastermind.csv
```

```java
// export only deadlines and events data to personal folder
> export events deadlines to C:\Users\Jim\mastermind.csv
```
```
###### /AboutUs.md
``` md
#### [Dylan Chew Zhi Jiang](https://github.com/zavfel) <br>
<img src="images/DylanChew.png" width="150"><br>
* Components in charge of: [Logic](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/docs/DeveloperGuide.md#logic-component)
* Aspects/tools in charge of: Testing, Code quality
* Features implemented:
* [List](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/docs/UserGuide.md#listing-all-tasks-of-a-category-list)
* [Mark](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/docs/UserGuide.md#completing-tasks--mark)
* [Unmark](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/docs/UserGuide.md#unmarks-tasks--unmark)
* [Previous](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/docs/UserGuide.md#repeating-a-previous-command-)
* [Upcoming](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/docs/UserGuide.md#show-upcoming-tasks--upcoming)
* allow adding of recurring task in [Add](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/docs/UserGuide.md#adds-a-recurring-deadline)

* [Import (csv)](https://hackmd.io/AwIwTAbAJgLFIFoCMSDMB2BMkFYAcCAnBAIYkLrp6HrC2oCmS6QA?both#importing-file--import)

* Code written: [[functional code](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/collated/main/A0124797R.md)][[test code](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/collated/test/A0124797R.md)][[docs](https://github.com/CS2103AUG2016-W11-C3/main/blob/master/collated/docs/A0124797R.md)]
* Other major contributions:
* Did the initial refactoring from AddressBook to ToDoList
* Set up Travis and Coveralls
* Class Diagrams

-----
```
###### /DeveloperGuide.md
``` md
### Model component

<img src="images/Model_diagram.png" width="800">

**API** : [`Model.java`](../src/main/java/harmony/mastermind/model/Model.java)

The `Model`:
* Stores a `UserPref` object that represents the user's preferences
* Stores _Mastermind_'s data
* Exposes a `UnmodifiableObservableList<ReadOnlyTask>` that can be 'observed' e.g. the `UI` can be bound to this list so that the `UI` automatically updates when the data in the list change.
* Does not depend on any of the other three components.

##### Task & TaskBuilder

The `Task.java` and `TaskBuilder.java` can be found in `harmony.mastermind.model.task` package.

We identified three different types of Tasks (Floating, Deadlines, Events), which differ only by the existence of start date and end date in their respective attributes. While inheritance seems to be a viable solution, it's not necessary true that a floating task is interchangeable with deadline and event, or vice versa. Moreover, how can we prevent the user from entering a start date without end date?

Eventually, we resolved this issue by using the [Builder Pattern](https://www.tutorialspoint.com/design_pattern/builder_pattern.htm). This gives us the following benefits:

- **Avoid long constructor**: `Task` object has many optional attributes, therefore it's impractical to keep multiple constructors with long parameter list. Builder pattern mitigates such problem by using step by step approach to build the `Task` object.

- **Increase Readability**: The object creation process uses fluent method name that is much more readable than conventional constructor approach.

- **Enforce mandatory attributes**: The only way to set the start and end date through `TaskBuilder` is by using `asEvent()`, `asDeadline()`, `asFloating()` methods. Ideally, the `TaskBuilder` should return an immutable `ReadOnlyTask` upon building. There's no way that the user can create a `Task` with start date but without an end date.

_Example:_
```java
TaskBuilder taskBuilder = new TaskBuilder(taskName);
taskBuilder.withCreationDate(createdDate);
taskBuilder.withTags(tags);
taskBuilder.asRecurring(recur);

if (isEvent()){
taskBuilder.asEvent(startDate,endDate);
} else if (isDeadline()){
taskBuilder.asDeadline(endDate);
} else if (isFloating()){
taskBuilder.asFloating();
}

Task task = taskBuilder.build();
```

```
Loading