Welcome to CCA Manager's User Guide! CCA Manager is a contact manager designed to simplify the management of CCAs and enhance your administrative efficiency, regardless of whether you're overseeing a sports team, academic club, any other extracurricular activity, or simply a CCA participant. It has a minimal and intuitive Graphic User Interface where most actions are performed via commands, making it a pleasure to use. If you can type fast, CCA Manager can get your admin tracking done faster than traditional Graphic User Interface apps.
In this user guide, we'll walk you through the essential steps to harness the full potential of CCA Manager. Whether you're a CCA Executive Committee Member or simply a CCA participant, our guide will provide you with the knowledge and tools you need to make the most of our app.
This user guide does assume some prior experience with administrative tools and command interfaces. Don't worry if you don't know these, we'll guide you along the way! If you have further questions while reading this document or while using our app, visit our FAQ. If your question isn't answered there, feel free to visit our project repository and raise an issue.
This user guide is split into 4 parts:
Managing contact information and roles for members of CCAs can be a cumbersome task, often involving disparate tools and platforms. Administrators face challenges in efficiently organizing members, coordinating activities, and communicating effectively within these groups.
For instance, the management of contact information and associated information about a CCA activity often involves the use of the following apps: Discord, Telegram, Google Spreadsheets, Sessionize, etc. This makes maintaining administrative information messy, often involving several steps to accomplish a simple task.
CCA Manager endeavors to equip CCAs with tools that streamline administration, freeing up valuable time for more meaningful tasks. We do so by providing a unified solution in the form of the following core features:
To get started with CCA Manager and explore its features further, check out our Installation Guide and our Quick Start, where we'll go through some concrete use cases for our app.
(Reminder: the green link means it has relevant explanations in the Glossary. ^_^
)
This Installation guide targets an audience who has knowledge of how to install programs and how to use a command line/terminal.
Ensure you have Java 11
or above installed on your Computer.
Download the latest ccamanager.jar
from here. (Click here if you don't know what is .jar
)
Copy the file to the folder you want to use as the home folder for your CCA Manager.
cd <folder>
into the terminal and press enter
, where you replace <folder>
with the path to the folder where you've placed ccamanager.jar
. This navigates the terminal to the correct folder.java -jar ccamanager.jar
into the terminal and press enter
to run the application. On Windows:
ccamanager.jar
file to run it.A Graphic User Interface similar to below should appear in a few seconds. Note how the app contains some sample data.
To gain an idea of what CCA Manager is about, head down to Quick Start.
For more details on the commands, visit our Features section.
Confused about where to get started? Don’t fret, in this section, we'll outline how to use CCA Manager to its maximum effect with a few scenarios.
First off, CCA Manager's interface consists of the following main components:
All of CCA Manager's functionality is accessed via commands. This includes both adding and editing contacts, as well as accessing existing contacts.
When you first boot up the app, the app will contain some example contacts for you to get a feel of using CCA Manager's functions.
To run a command, type the command in the Command Box and press Enter to execute it. For example, typing help
and pressing Enter will open the help window.
Here are some other example commands you can try:
list
: Lists all contacts.delete 3
: Deletes the 3rd contact shown in the currently displayed list.filter c/NUS Cycling
: Filter contacts by CCA.exit
: Exits the app.Now you can proceed to the Features section for a detailed listing of the available commands.
This section details the available functions of CCA Manager, organised according to the following categories:
The following commands are documented in this section:
help
Shows a message explaining how to access the help page.
help
The following is the result of executing the following command:
help
A box appears with a button Copy URL
. Clicking it will allow you to paste the link into your internet browsing application of choice (E.g., Chrome, Safari, Firefox) and view our User Guide.
(Click here if you don't know what is a URL.)
exit
Exits the program.
exit
The program will terminate, and the application window will close.
The following commands are documented in this section:
list
Shows a list of all persons in the CCA Manager.
list
The following is the result of executing the following command:
list
Everybody added to CCA Manager is listed in the Results Box.
find
Finds persons whose names contain any of the given keywords.
find
are case-insensitive.
Alex Yeoh
in the app, performing find alex
will match Alex Yeoh
.find alex lee
is the same as find lee alex
.find al
will not match Alex Yeoh
find
, the person will be matched.
find Alex
find Alex Yu
The output for find Alex Yu
is:
find
), the command will fail.list
command.
filter
Filter the current list with CCA and roles
The people who will be listed are people who are:
filter c/NUS Cycling
filter c/NUS Cycling r/Logistics
filter c/NUS Cycling r/Logistics r/Outreach
For filter c/NUS Cycling r/Logistics r/Outreach
:
filter
), then the command will fail.list
command.
The following commands are documented in this section:
add
edit
assign
owe
charge
setatt
cca_delete
add
Adds a person to the CCA Manager.
add 1... r/new role
), you must also add a CCA. For example,
add 1... c/CCA r/new role
because a person not in a CCA should not have a role.
add n/John Doe p/98765432 e/johnd@example.com a/6 Sin Ming #01-01
add n/John Doe p/98765432 e/johnd@example.com a/6 Sin Ming #01-01 c/NUS Cycling c/NUS Origami
add n/John Doe p/98765432 e/johnd@example.com a/6 Sin Ming #01-01 d/Manages money
The following is the result of executing the following command:
add n/John Doe p/98765432 e/johnd@example.com a/6 Sin Ming #01-01 c/NUS Cycling r/Treasurer r/Logistics d/Manages money
A person is added to CCA Manager with the information provided in the command, and the new person is displayed in the Results Box.
edit
Edits an existing person in the CCA Manager.
Index of person
must be a number greater than 0.r/nil
.c/nil
.edit 1 r/new role
), the existing Roles of the person will be removed. Editing of Roles is not cumulative.edit 1 c/CCA r/new role
).edit 1 p/91234567 e/johndoe@example.com
91234567
and johndoe@example.com
respectively.edit 2 r/nil
edit 1 c/NUS Rollers c/NUS Origami
NUS Rollers
and NUS Origami
.Suppose we start with this list of people displayed in the Results Box.
We then run the following command:
edit 2 c/NUS Rollers c/NUS Origami
The 2nd person on the list, Bernice Yu, has her CCAs updated from NUS Cycling
to both NUS Origami
and NUS Rollers
.
assign
Appends new roles to a person.
assign
differs from edit
in that assign
adds new roles to a person while edit
replaces the current roles of a person. For instance, if the first person has roles Treasurer
and Logistics
:
assign 1 r/Captain
results in the person having roles: Treasurer
, Logistics
and Captain
.edit 1 r/Captain
results in the person having role: Captain
.
assign 1 r/new role
), that person must already be in a CCA.
assign 1 r/Treasurer
For assign 1 r/Treasurer
nil
(for instance, the command you ran is assign 1 r/nil
), the command will error out.edit <index of person> r/nil
, (see the edit
command).
owe
Set up the amount of money a person owes.
owe 1 m/10.00
For owe 1 m/10.00
:
m/
must also be numeric and in dollars, and cannot exceed 2 decimal places. For example, the following are invalid for the amount:
m/one dollar
: Not numeric.m/10.001
: More than 2 decimal places.charge
Charge a person with an amount of money by CCA and optionally, by role.
The people who will be charged are people who are:
To see who will be charged by a command, say via charge m/10.00 c/NUS Cycling r/Logistics
, run the filter
command. In this case, filter c/NUS Cycling r/Logistics
will display the people that will be charged.
charge m/10.00 c/NUS Cycling r/Treasurer
NUS Cycling
with the role of Treasurer
For charge m/10.00 c/NUS Cycling r/Treasurer
:
m/
must also be numeric and in dollars, and cannot exceed 2 decimal places. For example, the following are invalid for the amount:
m/one dollar
: Not numeric.m/10.001
: More than 2 decimal places.setatt
Tracks the attendance of each contact by recording the number of attended sessions out of the total number of sessions.
setatt 2 att/4 s/6
4/6
, which indicates that they have attended 4 out of a total of 6 sessions.att/
) exceeds the number of sessions total s/
, the application will error out.cca_delete
Delete a current existing CCA
list
command again to see all contacts.
cca_delete c/NUS Cycling
cca_delete c/Jogging
Suppose we start with this list of people displayed in the Results Box.
We then run the following command:
cca_delete c/NUS Cycling
Notice that the CCA of the people in our list has been removed.
The following commands are documented in this section:
delete
Deletes the specified person from the CCA Manager.
delete 3
clear
Clears all entries from the CCA Manager.
clear
The following features are documented in this section:
CCA Manager data are saved automatically as a JSON file [JAR file location]/data/ccamanager.json
. Advanced users are welcome to update data directly by editing that data file.
If your changes to the data file make its format invalid, CCA Manager will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause the CCA Manager to behave in unexpected ways (for example, if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
[coming in v2.0]
Details coming soon ...
Q: How do I transfer my data to another Computer?
A: Install the app on the other computer and overwrite the empty data file it creates with the file that contains the data of your previous CCA Manager home folder.
Q: My administrative information is sensitive and should not be made public. Is it safe to use CCA Manager for my purposes?
A: Yes. CCA Manager runs locally on your machine and does not connect to the internet nor does it have any functions to communicate outside of your computer. Your data will never leave your machine unless you want it to.
Q: Is there a cost associated with using CCA Manager?
A: None! CCA Manager is free to use with no strings attached.
Q: What should I do if I encounter technical issues with CCA Manager?
A: You can visit the Common Issues section if your problem is common. Otherwise, feel free to open an issue. You would have to create a new Github account to do so. This will allow us to maintain constant communication with you until the issue is addressed.
Q: How can I provide feedback or suggest improvements for CCA Manager?
A: Feel free to open an issue, your feedback is very valuable to us. You would have to create a new Github account to do so. This will allow us to maintain constant communication with you until the issue is addressed.
I updated CCA Manager and now nothing shows up in my contact list!
Warning: This solution will require deleting your existing data.Solution: Delete your
data
folder and re-launch CCA Manager.
My Java does not open CCA Manager, what's up with that?
Solution: Make sure you're using Java 11 or a more recent version. We can't guarantee anything lower will work.
preferences.json
file created by the application before running the application again.Notes about the command format:
Words in UPPER_CASE
are the parameters to be supplied by the user.
e.g. in add n/NAME
, NAME
is a parameter that can be used as add n/John Doe
.
Items in square brackets are optional.
e.g n/NAME [r/ROLE]
can be used as n/John Doe r/friend
or as n/John Doe
.
Items with …
after them can be used multiple times including zero times.
e.g. [r/ROLE]…
can be used as (i.e. 0 times),
r/friend
, r/friend r/family
etc.
Parameters can be in any order.
e.g. if the command specifies n/NAME p/PHONE_NUMBER
, p/PHONE_NUMBER n/NAME
is also acceptable.
Extraneous parameters for commands that do not take in parameters (such as help
, list
, exit
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
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.
Action | Format, Examples |
---|---|
Help | help |
Exit | exit |
List | list |
Find | find KEYWORD [MORE_KEYWORDS] e.g., find James Jake |
Filter | filter [c/CCA]... [r/ROLE]... e.g. filter c/ NUS Cycling e.g. filter c/CCA Cycling r/colleagues |
Add | n/NAME p/PHONE e/EMAIL a/ADDRESS [r/ROLE]... [c/CCA]... [d/DESCRIPTION] e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 r/Treasurer r/Member c/CCA Cycling d/Manages money. |
Edit | edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/ROLE]... [c/CCA]... [d/DESCRIPTION] e.g., edit 2 n/James Lee e/jameslee@example.com |
Assign | assign INDEX [r/ROLE]... e.g. assign 2 r/Member |
Owe | owe INDEX m/AMOUNT e.g. owe 2 m/10.0 |
Charge | charge m/AMOUNT c/CCA r/ROLES e.g. charge m/5.0 c/NUS Cycling r/member |
Delete CCA | cca_delete c/CCA e.g. cca_delete c/NUS Cycling |
Set Attendance | setatt INDEX att/NUMBER s/NUMBER e.g. setatt 2 att/6 s/7 |
Delete | delete INDEX e.g., delete 3 |
Clear | clear |
Term | Explanation |
---|---|
Graphic User Interface | What you see on your computer or phone screen when you're using programs or apps. It's the visual way you interact with your device. |
FAQ | Frequently Asked Questions |
Project Repository | A digital storage space or a virtual filing cabinet where all the files and documents related to a project are kept. It's usually hosted online using platforms like GitHub or Bitbucket. |
Java | A popular programming language that's used to build all sorts of software applications, from simple mobile apps to complex web servers. For more refer to: https://www.java.com/en |
.jar file | A package containing Java code, along with any other resources the program needs, such as images or configuration files. It stands for "Java ARchive." |
Linux | Linux is an operating system, just like Windows or macOS, but it's built on a different foundation. For more refer to: https://www.linux.org |
macOS | macOS is the operating system developed by Apple for their Macintosh computers. It's what makes everything run on your Mac, like opening apps, browsing the web, or organizing files. For more refer to: https://www.apple.com/macos/sonoma |
command terminal | A text-based interface that allows you to interact with your computer using text commands instead of clicking on icons or buttons like you would in a graphical user interface (GUI). It's also known as a command line interface (CLI). |
Windows | An operating system developed by Microsoft for personal computers. It's one of the most widely used operating systems in the world. For more refer to: https://www.microsoft.com/windows?r=1 |
URL | A web address that specifies the location of a resource on the internet. It's basically the address you type into your web browser to visit a specific webpage or access a file online. |
Index of person | In this User Guide, this refers to the number that person appears in the list |
JSON | It's a lightweight data-interchange format that is easy for humans to read and write and easy for machines to parse and generate. For more refer to: https://www.json.org |
Github | A platform for hosting and sharing code repositories. It's like a social network for developers, where they can collaborate on projects, share code, and track changes to their code over time. For more refer to: https://github.com/ |
Extraneous parameters | In this User Guide, it refers to anything behind the command. e.g. cca_delete c/Jogging, c/Jogging is a parameter. |