Alice is a task manager for people who would rather type than click. She keeps track of todos, deadlines and events, remembers them between runs, and is faintly put out about having to do any of it.
She runs either as a JavaFX desktop app, with the conversation on the left and a live list of your tasks on the right, or as a plain command-line program. Both front ends share exactly the same command handling, so they can never disagree about what a command does.
Oh. It's you.
Well? What do you want me to keep track of?
| Command | What it does |
|---|---|
todo <description> |
Adds a task with no date attached. |
deadline <description> /by <d/M/yyyy HHmm> |
Adds a task due at a given time. |
event <description> /from <d/M/yyyy HHmm> /to <d/M/yyyy HHmm> |
Adds a task spanning a period. |
list |
Shows every task, numbered. |
find <keyword> [more keywords] |
Shows tasks matching any of the keywords. |
mark <number> / unmark <number> |
Marks a task done or not done. |
delete <number> |
Removes a task. |
snooze <number> <days> |
Pushes a deadline back by a number of days. |
bye |
Exits. |
Tasks are saved to data/alice.txt after every change, and reloaded on start.
If that file cannot be written, Alice says so rather than pretending the change
was saved; if a line in it cannot be read, she skips that line and tells you
which one.
Prerequisites: JDK 25, and a recent version of IntelliJ.
- Open IntelliJ. If you are not on the welcome screen, close the current
project first with
File>Close Project. - Click
Open, select this project's directory, and accept the defaults for any prompts that follow. - Configure the project to use JDK 25 (not another version), as described
in the IntelliJ documentation.
Set the Project language level field to the
SDK defaultoption in the same dialog. - Locate
src/main/java/alice/Launcher.java, right-click it, and chooseRun Launcher.main()to start the GUI. To run the command-line version instead, do the same withsrc/main/java/alice/Alice.java.
Warning: keep src/main/java as the root folder for Java files. Gradle and
other tools expect to find them there, so moving or renaming those folders will
break the build.
./gradlew run # launch the GUI, with assertions enabled
./gradlew check # run the tests and the checkstyle rules
./gradlew build # the above, plus build/libs/alice.jar
- This project is built on the se-edu iP template used by CS2103/T.
- TODO BEFORE SUBMITTING - replace this line: state where the pixel art in
src/main/resources/images/DaAlice.pngcame from, with a link and its licence, or say that you drew it yourself. - Parts of this project were written with the help of an AI assistant, used as described in the course's policy on AI use.