Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
68c58c1
Add Gradle support
May 24, 2020
03523ec
Bump gradle and lib version
Eclipse-Dominator Aug 5, 2023
81a9c53
build.gradle: Prevent generating a second JAR file
aureliony Jul 16, 2024
a0697d0
refactor from "Duke" to trackie, add greeting and exit messages
Xczheng0105 Aug 22, 2024
7138744
add support for echo, design improvements
Xczheng0105 Aug 22, 2024
d52af6a
add support for add tasks and list tasks feature, remove the echo fea…
Xczheng0105 Aug 23, 2024
7bdc7a5
add functionalities for marking and unmarking tasks, some refactoring…
Xczheng0105 Aug 24, 2024
d6c728b
add support for adding different types of tasks - todo, deadline, event
Xczheng0105 Aug 25, 2024
2a0a7da
add support for semi-automated testing.
Xczheng0105 Aug 25, 2024
c64b084
add support for error handling
Xczheng0105 Aug 27, 2024
f4a74d4
add support for deleting tasks, update testcases
Xczheng0105 Aug 27, 2024
875d557
Add support for reading and writing to a data file
Xczheng0105 Sep 2, 2024
82d54e5
Re-implement functionality for saving tasks
Xczheng0105 Sep 2, 2024
6eacbaf
Fix some bugs related to loading of tasks on startup
Xczheng0105 Sep 2, 2024
e3462c7
Merge branch 'branch-Level-7'
Xczheng0105 Sep 2, 2024
ed4c04e
Change the way of storing deadlines
Xczheng0105 Sep 3, 2024
07eb12b
Merge branch 'branch-level-8'
Xczheng0105 Sep 3, 2024
3df0a42
Add more OOP
Xczheng0105 Sep 4, 2024
4eeee92
Merge branch 'branch-A-moreOOP'
Xczheng0105 Sep 4, 2024
7478209
Sort the classes into packages
Xczheng0105 Sep 4, 2024
5a82fe8
Merge branch 'branch-A-Packages'
Xczheng0105 Sep 4, 2024
7e6e096
Merge branch 'add-gradle-support'
Xczheng0105 Sep 4, 2024
44abef4
Add gradle support
Xczheng0105 Sep 4, 2024
de8ac14
Add support for junit testing and minor fixes
Xczheng0105 Sep 4, 2024
442cc87
Add support for jar file and fix some minor bugs
Xczheng0105 Sep 4, 2024
7d94e52
Include JavaDoc for some functions
Xczheng0105 Sep 5, 2024
71fb56f
Tweak the code to adhere to the coding standard
Xczheng0105 Sep 5, 2024
cc8a352
Add support for finding tasks that match a query
Xczheng0105 Sep 5, 2024
001b98a
Merge branch 'branch-Level-9'
Xczheng0105 Sep 5, 2024
e66662e
Merge branch 'branch-A-CodingStandard'
Xczheng0105 Sep 5, 2024
b8dd311
Merge branch 'branch-A-JavaDoc'
Xczheng0105 Sep 5, 2024
57df3f3
Fix some minor bugs
Xczheng0105 Sep 5, 2024
40fe5b6
Add Iteration 1 - Echoing the user
Xczheng0105 Sep 12, 2024
43c70e6
Add Iteration 2 - Add dialog box for Trackie's response
Xczheng0105 Sep 12, 2024
930d115
Refactor Trackie to use FXML
Xczheng0105 Sep 13, 2024
3222fba
Link the backend to the frontend
Xczheng0105 Sep 13, 2024
6ea5537
Fix minor bugs and delete the Ui class
Xczheng0105 Sep 13, 2024
81b2d58
Delete the Ui class (did not manage to delete properly beforehand)
Xczheng0105 Sep 13, 2024
530830d
Merge branch 'branch-Level-10'
Xczheng0105 Sep 13, 2024
5a8d1a1
Add assertions for the add command
Xczheng0105 Sep 13, 2024
4f1b7e5
Refactor the code
Xczheng0105 Sep 21, 2024
e4fcece
Change the name of one variable to adhere to coding standard
Xczheng0105 Sep 21, 2024
c3634b7
Merge pull request #2 from Xczheng0105/heads/A-CodeQuality
Xczheng0105 Sep 22, 2024
7cf465f
Date and Time : update the way to store start and end times
Xczheng0105 Sep 22, 2024
30f1461
Merge branch 'branch-A-Assertions'
Xczheng0105 Sep 22, 2024
d1d7e6b
Change some keywords for commands
Xczheng0105 Sep 22, 2024
287d213
Change the date and time syntax
Xczheng0105 Sep 23, 2024
b9f2caa
Clean up commands
Xczheng0105 Sep 23, 2024
b507fe3
Merge branch 'branch-C-FriendlierSyntax'
Xczheng0105 Sep 23, 2024
4fdfe10
Improve the UI
Xczheng0105 Sep 23, 2024
bae53a0
Give the bot a more unique personality
Xczheng0105 Sep 23, 2024
f0d437a
Improve testing for Trackie bot
Xczheng0105 Sep 23, 2024
49be16c
Merge branch 'branch-A-Personality' into branch-A-MoreTesting
Xczheng0105 Sep 23, 2024
a7b622a
Merge branch 'branch-A-MoreTesting'
Xczheng0105 Sep 23, 2024
dfa4e52
Update the error message for invalid command
Xczheng0105 Sep 23, 2024
77b318f
Fix a minor bug
Xczheng0105 Sep 23, 2024
b65da00
Update the README file
Xczheng0105 Sep 23, 2024
10d590c
Fix formatting issues
Xczheng0105 Sep 23, 2024
bc060a1
Fix a minor formatting issue
Xczheng0105 Sep 23, 2024
d858b95
Fix minor formatting issues
Xczheng0105 Sep 23, 2024
05aa272
Update the representative screenshot
Xczheng0105 Sep 23, 2024
ecfb15a
Provide more JavaDocs
Xczheng0105 Sep 23, 2024
090c4c8
Update docs/README.md
Xczheng0105 Sep 23, 2024
3474cc0
Update docs/README.md
Xczheng0105 Sep 23, 2024
3783237
Update docs/README.md
Xczheng0105 Sep 23, 2024
f7f7308
Update docs/README.md
Xczheng0105 Sep 23, 2024
0fdb8ea
Fix some minor bugs
Xczheng0105 Sep 23, 2024
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
3 changes: 3 additions & 0 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: trackie.ui.Trackie

57 changes: 57 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
plugins {
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '7.1.2'
}

repositories {
mavenCentral()
}

dependencies {
String javaFxVersion = '17.0.7'

implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'linux'
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.10.0'
}

test {
useJUnitPlatform()

testLogging {
events "passed", "skipped", "failed"

showExceptions true
exceptionFormat "full"
showCauses true
showStackTraces true
showStandardStreams = false
}
}

mainClassName = 'trackie.ui.Launcher'

application {
mainClass.set("trackie.ui.Launcher")
}

shadowJar {
archiveFileName = 'trackie.jar'
}

run{
standardInput = System.in
enableAssertions = true
}
91 changes: 75 additions & 16 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,89 @@
# Duke User Guide
# Trackie User Guide

// Update the title above to match the actual product name

// Product screenshot goes here
![](./Ui.png)

// Product intro goes here

## Adding deadlines
Introducing the Trackie Bot - Add different types of tasks and manage your tasks with ease!

// Describe the action and its outcome.
## Adding a todo task
Todo tasks are tasks with just a description.
Say, you wanted to add a todo task with the description "task1",
here's how you would do it:\
`t task1`

// Give examples of usage
The bot will return:
> Added: task1

Example: `keyword (optional arguments)`
## Adding a deadline task
Deadline tasks are tasks that come with a deadline.
To add a deadline task, simply provide the description
and the deadline as a date-time in "yyyymmdd hhmm" format.

// A description of the expected outcome goes here
For instance, let's say that you want to add the following deadline:
- Description: finish assignment
- Deadline: 26th September 2024, 2359

```
expected output
```
This is done by issuing the following command:\
`d finish assignment /by 20240926 2359`

## Feature ABC
As a result, the bot will return:
> Added: finish assignment (by: 26 Sep 2024, 11:59:00pm)

// Feature details
## Adding an event task
Event tasks are tasks that have both a start and end time.
To add an event task, simply provide the description, the start time and the end time.
Both the start time and end time should be in the same date-time format as that of the
deadline task.

For instance, to add the following event:
- Description: attend party
- Start time: 19th August 2021, 1900
- End time: 19th August 2021, 2300

## Feature XYZ
This is how it's done:\
`e attend party /from 20210819 1900 /to 20210819 2300`

// Feature details
And this is what you'll get:
> Added: attend party (from: 19 Aug 2021, 7:00:00pm to: 19 Aug 2021, 11:00:00pm)

## Listing Tasks
To see a list of all your tasks, simply type `ls`.

This will yield you a list of all your tasks, for instance:
> Here are your current tasks: <br> <br> 1. [D][ ] finish project (by: 10 Jul 2020, 7:00:00am) <br> 2. [T][ ] walk the dog

## Marking/Unmarking Tasks
You can choose to mark/unmark tasks by typing "mark x" where x is the
index of the task you want to mark/unmark **according to the list shown
by the list command.**

Examples:

`mark 1`:
> Gratz, you've completed: task 1

`unmark 2`:
> Aight, I've unmarked the following: another task


## Deleting Tasks
Simply type "rm" followed by the index of the task to delete said task.

Example:

`rm 2`:
> Deleted: do my homework

## Finding Tasks
If you would like to find a task, simply use the `find` command as follows: `find task1`.

All the tasks that have "task1" as a substring of their description will be included in the list of tasks found.
For instance, "task1" and "sometask123" are both matching queries.

The bot will return the number of relevant tasks found and list those tasks as follows:
>2 matching task(s) found: <br> <br> task1 <br> sometask123 (by: 1 Jan 2020, 12:00:00am)

## Help page
If you're unsure about the list of commands that are available, you can always
type `help` to bring up the list of available commands.
Binary file added docs/Ui.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 added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading