User Guide
Ez-Schedule is a desktop application for managing and scheduling of events, optimized for use via a Command Line Interface (CLI) while still providing an easy way to visualize all events through a Graphical User Interface (GUI).
Ez-Schedule will benefit a fast typist who needs to plan and track upcoming events.
Do not attempt to modify the local storage files on your own.
Otherwise, Ez-Schedule may not run as expected.
Using this Guide
- If you are running Ez-Schedule for the first time, please refer to our Quick Start guide.
- If you are learning how to use Ez-Schedule, please refer to our Commands section for a detailed guide.
- If you are interested in contributing to this project, please check out our Developer Guide.
- If you are an experienced user, you may find the Command Summary helpful as it provides a summarized table of all the available commands.
Table of Contents
- Using This Guide
- Table of Contents
- Icons Used
- Quick Start
- Graphical User Interface
- Summary
-
Commands
-
Add a New Event :
add
-
Repeat an Existing Event :
recur
-
Edit an Event :
edit
-
Delete Events :
delete
-
Locate Events :
find
-
Retrieve Next Events :
next
-
Undo Previous Command :
undo
-
List All Events :
list
-
View Help :
help
-
Exit Application :
exit
-
Add a New Event :
- Limitations
- FAQ
Icons Used
This section serves to introduce the icons used throughout this guide.
Quick Start
- Ensure you have Java
11
or above installed in your Computer. - Download the latest
Ez-Schedule.jar
from here. - Copy the file to the folder you want to use as the home folder for your Ez-Schedule.
- Open a command line terminal,
cd
into the folder you put the jar file in - Use the
java -jar Ez-Schedule.jar
command to run the application.
Graphical User Interface
This section serves to introduce the GUI components in Ez-Schedule.
Ez-Schedule is composed of the following components, which are numbered for easy reference:
Command Box
This component enables you to type the command in the command box and execute it by pressing Enter.
For example, typing help
and pressing Enter will open the help window.
Response Box
This component displays the feedback of the command you entered into the command box.
Events Panel
This component displays all the events that you have.
You can use commands like list
and find
to view the events in your scheduler.
Events that have past is marked with a completed label and check mark.
Events are displayed in chronological order.
Upcoming Events Panel
This component displays both ongoing (if you have not started on them yet) and upcoming events that you have.
next
command to change the number of upcoming events shown.
Calendar
This component gives you a comprehensive summary of all the events that you have for a particular month.
The
find
command will highlight the calendar boxes corresponding to the events that match your search criteria.
now
button will take you directly back to the current date.Clicking on any calendar date box that has events will display those events in the events panel.
Summary
Prefix Summary
Prefix | Representation | Remark |
---|---|---|
n/ | Name | Name is alphanumeric only. |
d/ | Date | Dates should follow a YYYY-MM-DD format. |
s/ | Start time | Time should be in 24-hour HH:mm format, ranging from 00:00 to 23:59 . Leading zero are required. |
e/ | End time | Time should be in 24-hour HH:mm format, ranging from 00:00 to 23:59 . Leading zero are required. |
every/ | Every | Recurring factor is given by day/week/month. |
Command Summary
Action | Command Format |
---|---|
Add | add n/<event> d/<date> s/<start time> e/<end time> |
Repeat | recur <index> d/<end date> every/<recur factor> |
Edit | edit <index> n/<name> d/<date> s/<start time> e/<end time> |
Delete |
delete <index> or delete <index index ... index>
|
List | list |
Next |
next or next <count>
|
Find | find n/<name> d/<date> |
Undo | undo |
Help | help |
Exit | exit |
Commands
Add a New Event
Format: add n/<event> d/<date> s/<start time> e/<end time>
Adds an event into the scheduler.
Example: add n/tennis d/2023-04-20 s/15:00 e/17:00
Parameters:
n/
: Name of the event
d/
: Date of the event
s/
: Start time of the event
e/
: End time of the event
If an event is added successfully, a message similar to the one above will be displayed in the
Response Box
.The
Events Panel
and Calendar
will both be updated to include the new event.
Repeat an Existing Event
Format: recur <index> d/<end date> every/<recur factor>
Repeats an event from the scheduler until the specified end date.
Example: recur 1 d/2024-01-01 every/month
Parameters:
d/
: Ending date of recurrence for the event
every/
: Recurring factor to recur the event
Event must first exist in the scheduler.
End date should come after current event date.
Recurring of events not existing in scheduler is not allowed.
Edit an Event
Format: edit <index> n/<event> d/<date> s/<start time> e/<end time>
Edits an event in the scheduler.
Example: edit 1 n/tennis
or edit 3 d/2023-06-01 s/10:00
Parameters:
n/
: Name of the event
d/
: Date of the event
s/
: Start time of the event
e/
: End time of the event
If an event is edited successfully, a message similar to the one above will be displayed in the
Response Box
.Any changes made to the event will be reflected in both the
Events Panel
and Calendar
.
Delete Events
Format: delete <index>
or delete <index index ... index>
Deletes the event(s) in the scheduler.
Example: delete 1
or delete 1 4 5
If an event is deleted successfully, a message similar to the one above will be displayed in the
Response Box
.Deleting the event will cause it to be removed from both the
Events Panel
and Calendar
.Locate Events
Format:find n/<name> d/<date>
Search the scheduler and returns all events that matches the name, date or a combination of both.
Example: find n/tennis
or find d/2023-03-01
or find n/tennis d/2023-03-01
Parameters:
n/
: Name of the event
d/
: Date of the event
Retrieve Next Events
Format:next <count>
Shows the next upcoming event(s).
Example: next
or next 2
Parameter:
<count>
: Number of upcoming events to show.
Optional - if not indicated, only the next one event is shown.
Undo Previous Command
Format: undo
Undo the previously executed valid command.
Example: undo
undo
is only applicable for add
, delete
, edit
and recur
commands.
List All Events
Format: list
Displays all events currently saved in the scheduler.
Example: list
View Help
Format: help
Provide a link to access this website.
Example: help
Exit Application
Format: exit
Exits the application.
Example: exit
Limitations
- Currently, we only support same-day events. Events which stretches across multiple days are not supported.
-
undo
can only undo the most recent valid command. - Data files are not allowed to be modified directly. Integrity of data files are not verified, hence modified data files might introduce bugs into the program.
FAQ
Q: On a scale of 1 to 10, how awesome is Ez-Schedule?
A: I would say off the charts, but it looks like 10 is the highest
Q: What is one example of someone who would use this?
A: A secretary who needs to keep track the boss’s meetings,
and inform the boss of what the next meeting is for.
Q: I am not allowed to add an event with no start/end time. Why?
A: Events with no start/end time are not the focus of Ez-Schedule,
since these events inherently cannot be scheduled.
Q: The recur
feature only allow me to repeat in certain frequency. It does not have the frequency I want.
A: Oh no, that is sad to hear. As a extra feature designed for user convenience,
we cannot possibly support everyone’s preferred frequency.
In case that you really need to have events repeating at an unsupported frequency,
you can manually add the events one by one. (You type fast, right? )
Q: The calendar only displays a one or two events only,
even though I have more events on that day. Is this a bug?
A: As with other conventional calendar applications (eg. Google/Outlook calendar),
the UI has limited space and thus almost impossible to display all events on that day.
Q: You say this is optimised for CLI use, but there is no command to transverse the calendar?
A: The calendar UI is a value-added feature and is not meant to totally replace the find
feature,
which allows the user to focus directly to a specific day.