User Guide
User Guide
Everything you need to know about CCACommander Ultra Promax Xtra 9000PLUS
Table of Contents
- Introduction
- About
- Quick Start
- Navigating User Interface
- Command History
- Features
- FAQ
- Known Issues
- Glossary
- Command Summary
- List of Acceptable Values
Introduction
As a Co-curricular Activity (CCA) head, do you find yourself struggling to manage your CCA members’ attendances and record the array of events that your CCA has? Are the heaps of spreadsheets you are using to manage them making you feel overwhelmed? Well, fear not, CCACommander Ultra Promax Xtra 9000PLUS is here to save the day!
CCACommander is a desktop application that helps CCA leaders record details of their members and events, whilst tracking every member’s attendance. It helps to organise members and events into easy-to-view compartments under a singular Graphical User Interface (GUI) while providing granular control to you via its in-built Command Line Interface (CLI). If you can type quickly, CCACommander can help you complete your administrative tasks much more efficiently than traditional GUI applications.
About
This user guide provides documentation on how you can install and use CCACommander Ultra Promax Xtra 9000PLUS. Descriptions of CCACommander’s features and how to use them have been carefully organised into key sections for your convenience. To get started, take a look at our quick start guide!
This guide uses the following features to make it easier for you to navigate around:
- Words that look like this can be clicked to jump to the related section.
- Words that look like
thisrefer to commands which you can type into the command box of CCACommander. - Words that look like this refer to keyboard keys that you can press.
Boxes with the
icon contain important information that you should read.
Boxes with the
icon contain additional useful information.
Boxes with the
icon contain additional tips and tricks to help you get the most out of CCACommander.
Quick Start
We assume that you have some basic knowledge of terminal commands. You can learn how to use the terminal with this guide.
-
Ensure you have Java
11installed in your computer by following this guide. -
Download the latest
ccacommander.jarfrom here. -
Put the downloaded file into a folder of your choice (preferably a new empty folder).
- Open a command terminal in the folder you put the CCACommander file in, and use the
java -jar ccacommander.jarcommand to run the application. A GUI resembling the one shown below should appear in a few seconds. Note how the app contains some sample data.
Fig 1: Initial application display -
Type the command in the command box and press ↵ Enter to execute it.
E.g. typinghelpand pressing ↵ Enter will open the help window.
Some example commands you can try:-
list: Lists all members and events. -
createMember n/Lim Jun Jie g/Male p/98765432 e/limjunjie@gmail.com a/19 Kent Ridge Crescent, Singapore 119278: Creates a member named “Lim Jun Jie” in CCACommander. -
deleteMember 3: Deletes the 3rd member shown in the current list.
-
- You can refer to the Features section below for the details of each command.
You can use the clear command to remove the sample data.
Navigating User Interface
Here are the important components of CCACommander that you will use and interact with.
Menu: The CCACommander menu is located at the top-left corner of your screen. Click the sub-menu items to execute the following:
- File: Exit the program
- Theme: Toggle between light and dark themes
Fig 3: Light and dark theme - Help: Access our user guide
Command Box: Type in your text commands.
Result Display: View messages from CCACommander regarding your commands.
Member List: View the members stored in CCACommander.
Event List: View the events stored in CCACommander.
Storage Location: Locate where your CCACommander data is stored in your computer.
Command History
You can quickly recall previously entered commands for convenience as CCACommander stores almost all (see the info card below to see what commands are stored) commands entered by the user.
Upon selecting the command box, you can use the ↑ to ↓ key to navigate through the commands entered.
Example:
- You have just marked attendance for the first member in the member list using the
editEnrolment m/1 e/1 r/Presentcommand. - You can then use ↑ to get
editEnrolment m/1 e/1 r/Present - You can edit the member index to get
editEnrolment m/2 e/1 r/Presentto mark the second member as present.
CCACommander will not store 2 of the same commands if they were entered twice in a row. Likewise, commands containing exclusively of blank spaces will not be stored as well.
Upon entering the ⌫ Backspace or the ↵ Enter key, users will have to re-navigate from the most recent command as it will be treated as an edit or entry of command.
Features
Notes about the command format:
-
Words in
UPPER_CASEare the parameters to be supplied by the user.
E.g. increateMember n/NAME,NAMEis a parameter which can be used ascreateMember n/John Doe. -
Items in square brackets are optional.
E.g.n/NAME [t/TAG]can be used asn/John Doe t/friendor asn/John Doe. -
Items with
… after them can be used multiple times including zero times.
E.g.[t/TAG]…can be used as(i.e. 0 times),t/friend,t/friend t/familyetc. -
Parameters can be in any given order.
E.g. if the command specifiesn/NAME p/PHONE_NUMBER,p/PHONE_NUMBER n/NAMEis also acceptable. -
Some parameters of certain commands have constraints on the acceptable inputs.
You can refer to the List of Acceptable Values section below for more details. -
Extraneous parameters for commands that do not take in parameters (such as
help,list,exitandclear) will be ignored.
E.g. if the command specifieshelp 123, it will be interpreted ashelp. -
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
Member Commands
The vitality of a CCA lies in its members. CCACommander allows you to manage your members with the commands below:
Create a Member: createMember
Creates a new member with accompanying personal details (name, gender, phone number, email address, home address, tag).
Format: createMember n/MEMBER_NAME g/GENDER [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...
Examples:
-
createMember n/Lim Jun Jie g/Male p/83498018 e/limjunjie@gmail.com a/19 Kent Ridge Crescent, Singapore 119278 t/publicitycreates a member named “Lim Jun Jie” with gender “Male”, phone number of “83498018”, email of “limjunjie@gmail.com”, home address of “19 Kent Ridge Crescent, Singapore 119278” and a “publicity” tag:
createMember command
CCACommander will automatically capitalise the members’ names for you, meaning an input of “john doe” will become “John Doe” automatically!
Edit a Member: editMember
Edits the member at the specified index with the specified fields.
Format: editMember MEMBER_INDEX [n/MEMBER_NAME] [g/GENDER] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...
-
MEMBER_INDEXrefers to the index number shown in the currently displayed member list. - At least one field to edit must be provided.
Examples:
-
editMember 1 p/91234567 e/johndoe@example.comedits the member at index 1, changing their phone number to “91234567” and email to “johndoe@example.com”.
Delete a Member: deleteMember
Deletes the member at the specified index.
Format: deleteMember MEMBER_INDEX
- Deletes the member at the specified
MEMBER_INDEX. -
MEMBER_INDEXrefers to the index number shown in the currently displayed member list.
Examples:
-
deleteMember 1deletes the member at index 1 in the member list. -
deleteMember 10deletes the member at index 10 in the member list.
Event Commands
As a CCA head, keeping track of event details is a major responsibility. CCACommander allows you to do so with the event-related commands below:
Create an Event: createEvent
Creates a new event with accompanying details (name, location, date, tag).
Format: createEvent n/EVENT_NAME l/LOCATION d/DATE [t/TAG]...
Examples:
-
createEvent n/Exco Planning l/Planning Room d/2023-12-10 t/Sem1creates an event named “Exco Planning” held at the location “Planning Room” on the date 2023-12-10, with tag “Sem1”.
createEvent commandEdit an Event: editEvent
Edits the event at the specified index with the specified attributes.
Format: editEvent EVENT_INDEX [n/EVENT_NAME] [l/LOCATION] [d/DATE] [t/TAG]...
-
EVENT_INDEXrefers to the index number shown in the currently displayed event list. - At least one field to edit must be provided.
Examples:
-
editEvent 1 l/MBS d/2023-10-20edits the event at index 1, changing the location to “MBS” and the date to “2023-10-20” -
editEvent 3 l/UCC Theateredits the event at index 3, changing the location to “UCC Theater”.
Delete an Event: deleteEvent
Deletes the event at the specified index.
Format: deleteEvent EVENT_INDEX
- Deletes the event at the specified
EVENT_INDEX. -
EVENT_INDEXrefers to the index number shown in the currently displayed event list.
Examples:
-
deleteEvent 1deletes the event at index 1 in the event list. -
deleteEvent 10deletes the event at index 10 in the event list.
The EVENT_INDEX parameter refers to the index number shown in the currently displayed event list.
Enrolment Commands
Enrolments are a way for you to manage your members’ involvements in your events. The enrolment commands below are the bread-and-butter for your participation tracking needs:
Enrol a Member to an Event: enrol
Enrols a member to an event.
Format: enrol m/MEMBER_INDEX e/EVENT_INDEX [h/NUMBER_OF_HOURS] [r/REMARK]
- Enrols the member at the specified
MEMBER_INDEXto the event at the specifiedEVENT_INDEXwithNUMBER_OF_HOURSspecifying the number of hours that the member contributed andREMARKstating extra remarks about the member and event.
Examples:
-
enrol m/1 e/1 h/2 r/Role: Photographerenrols member at member index 1 in the member list to the event at event index 1 in the event list, where the member had 2 hours of contributions to that event and has a remark of “Role: Photographer”. -
enrol m/5 e/1enrols the member at member index 5 in the member list to the event at event index 1 in the event list.
Edit an Enrolment: editEnrolment
- Edits the specified
MEMBER_INDEX’s enrolment of the event at the specifiedEVENT_INDEXwithNUMBER_OF_HOURSspecifying the number of hours that the member contributed andREMARKstating extra remarks about the member and event.
Format: editEnrolment m/MEMBER_INDEX e/EVENT_INDEX [h/NUMBER_OF_HOURS] [r/REMARK]
Remember to provide at least one field to be edited!
Examples:
-
editEnroment m/1 e/2 h/5 r/Role: Excoedits the enrolment of the member at member index 1 to the event at event index 2, changing the number of hours to 5 and the remark to “Role: Exco”.
Unenrol a Member from an Event: unenrol
Unenrol a member from an event.
Format: unenrol m/MEMBER_INDEX e/EVENT_INDEX
- Unenrol the member at the specified
MEMBER_INDEXfrom the event at the specifiedEVENT_INDEX. - The member at
MEMBER_INDEXmust be enrolled to the event atEVENT_INDEX.
Examples:
-
unenrol m/1 e/5unenrols the member at member index 1 in the member list from the event at event index 5 in the event list. -
unenrol m/5 e/1unenrols the member at member index 5 in the member list from the event at event index 1 in the event list.
The MEMBER_INDEX/EVENT_INDEX parameter refers to the index number shown in the currently displayed member/event list.
View Commands
In CCACommander, you can quickly change the view to fit your current use case, be it to check for the enrolment of an event, searching for a member and more!
View Events of Member: viewMember
Lists all the events of a specified member index.
Format: viewMember MEMBER_INDEX
- Views the events of the member at the specified
MEMBER_INDEX. -
MEMBER_INDEXrefers to the index number shown in the currently displayed member list.
Examples:
-
viewMember 3displays events of the 3rd member in the member list.
viewMember command
viewMember commandView Members of Event: viewEvent
Lists all the members of a specified event index.
Format: viewEvent EVENT_INDEX
- Views the members of the event at the specified
EVENT_INDEX. -
EVENT_INDEXrefers to the index number shown in the currently displayed event list.
Examples:
-
viewEvent 1displays members of the 1st event in the event list.
viewEvent command
viewEvent commandFind Member in member list: findMember
Finds and lists member(s) whose name(s) contain the provided MEMBER_NAME.
Format: findMember MEMBER_NAME [MORE_NAMES]...
- Finds and lists member(s) whose name(s) contain the specified
MEMBER_NAME. - More than 1
MEMBER_NAMEcan be provided to find more members.
Examples:
-
findMember alicedisplays the member(s) whose name(s) contain ‘alice’ -
findMember alice bob charliedisplays the member(s) whose name(s) contain ‘alice’, ‘bob’ and/or ‘charlie’.
The findMember command requires the names to be typed in full, meaning “Nich” will not suffice for finding “Nicholas”.
To make it convenient for you, the names do not have to be capitalised!
Find Event in event list: findEvent
Finds and lists event(s) which name(s) contain the provided EVENT_NAME.
Format: findEvent EVENT_NAME [MORE_NAMES]...
- Finds and lists event(s) which name(s) contain the specified
EVENT_NAME. - More than 1
EVENT_NAMEcan be provided to find more events.
Examples:
-
findEvent partydisplays the event(s) which name(s) contain ‘party’ -
findEvent party marathon gamingdisplays the event(s) which name(s) contain “party”, “marathon” and/or “gaming”.
The findEvent command requires the names to be typed in full, meaning “Par” will not suffice for finding “Party”.
To make it convenient for you, the names do not have to be capitalised!
List all Members and all Events: list
List all members and all events in the CCA in two separate columns.
Format: list
Utility Commands
CCACommander provides you with powerful utility commands to make your admin tasks even more of a breeze than it was before.
Undoing a command: undo
Undoes the previous command that the user has entered, which has changed the data within CCACommander.
Format: undo
List of commands that can be undone:
clearcreateMemberdeleteMembereditMembercreateEventdeleteEventeditEventenrolunenroleditEnrolment
Redoing a command: redo
Redoes a command that the user has undone previously.
Format: redo
Clear all Members and Events: clear
Clears all Member and Event entries from CCACommander.
Format: clear
Accidentally cleared your list?
Fret not as you can use the undo command to recover your data!
Help: help
Displays a pop-out window that shows a link to this User Guide.
Format: help
help commandExit: exit
Closes CCACommander and its display window.
Format: exit
The exit command exists for your convenience.
It performs the same task as the cross in the top bar and the Exit button in the File sub-menu item.
Saving the data
CCACommander data are saved automatically as a JSON file [JAR file location]/data/ccacommander.json. Advanced users are welcome to update data directly by editing that data file.
FAQ
Q: How do I transfer my data to another computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous CCACommander folder.
Q: Do I need Wi-Fi connection to use CCACommander?
A: No, you can use CCACommander offline.
Q: How much storage space do I need for CCACommander?
A: CCACommander is so lightweight that you only need 30 MB on your computer.
Q: What happens if my laptop battery dies suddenly?
A: Rest assured, your data remains securely stored on your laptop.
Once your laptop is recharged, you can regain access to all your stored information.
Known Issues
-
When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the
preferences.jsonfile created by the application before running the application again. - Edit commands go back to the main view no matter what view you were in.
Glossary
This glossary provides definitions for the special terms used in this user guide.
CCA: Co-curricular activity.
Command: The text typed in by the user as a CCA Head for CCACommander.
Index: The number beside the corresponding entry in a list.
Tag: A word or phrase that labels a member or an event.
Command Summary
| Action | Format, Examples |
|---|---|
| Create a Member |
createMember n/MEMBER_NAME g/GENDER [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]... e.g. createMember n/Lim Jun Jie g/Male p/83498018 e/limjunjie@gmail.com a/19 Kent Ridge Crescent, Singapore 119278 t/publicity
|
| Edit a Member |
editMember MEMBER_INDEX [n/MEMBER_NAME] [g/GENDER] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]... e.g. editMember 1 p/91234567 e/johndoe@example.com
|
| Delete a Member |
deleteMember MEMBER_INDEX e.g. deleteMember 1
|
| Create an Event |
createEvent n/EVENT_NAME [l/LOCATION] [d/DATE] [t/TAG]... e.g. createEvent n/Party l/Raffles Hall d/2023-09-16 t/Dinner t/Sem1
|
| Edit an Event |
editEvent EVENT_INDEX [n/EVENT_NAME] [l/LOCATION] [d/DATE] [t/TAG]... e.g. editEvent 1 l/MBS d/2023-10-20
|
| Delete an Event |
deleteEvent EVENT_INDEX e.g. deleteEvent 1
|
| Enrol a Member to an Event |
enrol m/MEMBER_INDEX e/EVENT_INDEX [h/NUMBER_OF_HOURS] [r/REMARK] e.g. enrol m/1 e/1 h/2 r/Role: Photographer
|
| Edit an Enrolment |
editEnrolment m/MEMBER_INDEX e/EVENT_INDEX [h/NUMBER_OF_HOURS] [r/REMARK] e.g. editEnrolment m/1 e/2 h/5 r/Role: Exco
|
| Unenrol Member from an Event |
unenrol m/MEMBER_INDEX e/EVENT_INDEX e.g. unenrol m/1 e/1
|
| View Events of Member |
viewMember MEMBER_INDEX e.g. viewMember 3
|
| View Members of Event |
viewEvent EVENT_INDEX e.g. viewEvent 1
|
| Find Member in member list |
findMember MEMBER_NAME [MORE_NAMES]... e.g. findMember anthony nicholas
|
| Find Event in event list |
findEvent EVENT_NAME [MORE_NAMES]... e.g. findEvent party
|
| List all Members and all Events | list |
| Undo | undo |
| Redo | redo |
| Clear all Members and Events | clear |
| Help | help |
| Exit | exit |
List of Acceptable Values
| Command | Field | Acceptable values |
|---|---|---|
createMember / editMember
|
MEMBER_NAME | Only contain alphanumeric characters and spaces, and should not be blank |
| GENDER |
Male, Female, Others in any case |
|
| PHONE_NUMBER | Only contain numbers, and at least 3 digits long | |
An email with a valid extension (e.g. @gmail.com) |
||
| ADDRESS | Any non-blank values except the following prefixes: n/, g/, p/, e/, a/, t/
|
|
| TAG | Only contain alphanumeric characters with no spaces in between, but can be blank | |
createEvent / editEvent
|
EVENT_NAME | Only contain alphanumeric characters and spaces, and should not be blank |
| LOCATION |
Must not be blank and can take in any values, except the following prefixes:e/, l/, d/, t/
|
|
| DATE | Must be a valid date in the format of YYYY-MM-DD | |
| TAG | Only contain alphanumeric characters with no spaces in between, but can be blank | |
deleteMember / deleteEvent
|
MEMBER_INDEX / EVENT_INDEX | Must be a positive integer that is within the range of the length of the currently displayed member/event list |
enrol / editEnrolment
|
MEMBER_INDEX / EVENT_INDEX | Must be a positive integer that is within the range of the length of the currently displayed member/event list |
| NUMBER_OF_HOURS | Must be a positive integer and must be less than or equal to 2147483647 | |
| REMARK |
Must not be blank and can take in any values, except the following prefixes:m/, e/, h/, r/
|
|
viewMember / viewEvent
|
MEMBER_INDEX / EVENT_INDEX | Must be a positive integer that is within the range of the length of the currently displayed member/event list |
findMember / findEvent
|
MEMBER_NAME / EVENT_NAME / MORE_NAMES | Any non-blank values |