CCA Manager User Guide

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:

  1. An introduction to what CCA Manager offers,
  2. An installation guide and a quick start,
  3. An overview of all the features of CCA Manager, and
  4. An FAQ.
Legend
This blue box contains information that might be helpful to know.
This green box contains helpful tips that aid you in using CCA Manager to its full potential.
This yellow box contains warnings related to features in CCA Manager.

About CCA Manager

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:

  1. Centralized CCA Membership Management: Easily associate members with their respective CCAs within one app, eliminating the need for multiple platforms.
  2. Efficient Group Actions: Perform actions on groups of CCA members, such as searching for multiple CCAs at once, and streamlining administrative tasks.
  3. Role Assignment: Assign roles to CCA members, enhancing organization and clarity within the group.

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. ^_^ )

  • Table of Contents

  • Installation Guide

    This Installation guide targets an audience who has knowledge of how to install programs and how to use a command line/terminal.

    1. Ensure you have Java 11 or above installed on your Computer.

    2. Download the latest ccamanager.jar from here. (Click here if you don't know what is .jar)

    3. Copy the file to the folder you want to use as the home folder for your CCA Manager.

    4. On Linux and macOS:

      1. Open a command terminal.
      2. Type 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.
      3. Type java -jar ccamanager.jar into the terminal and press enter to run the application.
    5. On Windows:

      1. Double-click the 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.

  • Table of Contents

  • Quick Start

    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:

    1. Command Box: A small text box where you type the commands.
    2. Output Box: Displays any errors that might have occurred, or other information about the most recent command executed.
    3. Results Box: Displays the results of the command.

    All of CCA Manager's functionality is accessed via commands. This includes both adding and editing contacts, as well as accessing existing contacts.

  • Table of Contents

  • Upon Booting Up

    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:

    Now you can proceed to the Features section for a detailed listing of the available commands.

  • Table of Contents

  • Features

    This section details the available functions of CCA Manager, organised according to the following categories:

    1. General Features: General features for a better user experience
    2. Displaying Contacts: Displaying features in the Results Box
    3. Editing Contacts: Editing contacts in CCA Manager
    4. Deleting Contacts: Deleting contacts in CCA Manager
    5. Storage

    General Features

    The following commands are documented in this section:

    Viewing help: help

    Shows a message explaining how to access the help page.

    Command Format:
    helpAction \large \overbrace{\texttt{\colorbox{lightgrey}{help}}} ^{\text{\colorbox{lightgrey}{Action}}}
    Examples:
    • help
    Outcome:

    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.)

  • Table of Contents
  • Features
  • General Features

  • Exiting the program: exit

    Exits the program.

    Command Format:
    exitAction \large \overbrace{\texttt{\colorbox{lightgrey}{exit}}} ^{\text{\colorbox{lightgrey}{Action}}}
    Examples:
    • exit
    Outcome:

    The program will terminate, and the application window will close.

  • Table of Contents
  • Features
  • General Features

  • Displaying Contacts

    The following commands are documented in this section:

    Listing all persons: list

    Shows a list of all persons in the CCA Manager.

    Command Format:
    listAction \large \overbrace{\texttt{\colorbox{lightgrey}{list}}} ^{\text{\colorbox{lightgrey}{Action}}}
    Examples:
    • list
    Outcome:

    The following is the result of executing the following command:

    list
    

    Everybody added to CCA Manager is listed in the Results Box.

  • Table of Contents
  • Features
  • Displaying Contacts

  • Locating persons by name: find

    Finds persons whose names contain any of the given keywords.

    Command Format:
    findActionalexleeWord in nameof a person inCCA ManagerMust have at least oneword \large \begin{aligned} \overbrace{\texttt{\colorbox{lightgrey}{find}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad & \underset{ \substack{ \text{\color{red}{Must have at least one}} \\ \text{\color{red}{word}} } }{ \overbrace{ \texttt{\fcolorbox{tomato}{transparent}{\color{green}{alex}} \quad \fcolorbox{tomato}{transparent}{\color{green}{lee}}}} ^{\substack{ \text{\colorbox{gold}{Word in name}} \\ \text{\colorbox{gold}{of a person in}} \\ \text{\colorbox{gold}{CCA Manager}} }} } \end{aligned}
    Information:
    • The words supplied to find are case-insensitive.
      • If you have an Alex Yeoh in the app, performing find alex will match Alex Yeoh.
    • The order of the words does not matter.
      • find alex lee is the same as find lee alex.
    • Only full words will be matched.
      • Performing find al will not match Alex Yeoh
    • If a person's name contains at least one of the words supplied to find, the person will be matched.
    Examples:
    • find Alex
    • find Alex Yu
    Outcome:

    The output for find Alex Yu is:

    Possible Failures:
    • If you do not provide a word (for instance, if you ran the command find), the command will fail.
    Tip: If you intend to display all contacts by not providing a word, refer to the list command.
  • Table of Contents
  • Features
  • Displaying Contacts

  • Filter by CCA and roles: filter

    Filter the current list with CCA and roles

    Command Format
    filterActionr/TreasurerRole(s)Optionalcan have multiplec/NUSCyclingCCA(s)can have multiple \large \overbrace{\texttt{\colorbox{lightgrey}{filter}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{lavender}{r/}\color{green}{Treasurer}}} ^{\text{\colorbox{lavender}{Role(s)}}} } \quad \underset{ \substack{ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{plum}{c/}\color{green}{NUS Cycling}}} ^{\text{\colorbox{plum}{CCA(s)}}} }
    Information:

    The people who will be listed are people who are:

    1. In any of the CCAs provided, AND
    2. In any of the roles provided.
    Examples:
    • filter c/NUS Cycling
    • filter c/NUS Cycling r/Logistics
    • filter c/NUS Cycling r/Logistics r/Outreach
    Outcome:

    For filter c/NUS Cycling r/Logistics r/Outreach:

    Possible Failures:
    • If you do not provide a CCA to the command (for instance, if you ran the command filter), then the command will fail.
    Tip: If you intend to display all contacts by not providing a CCA, refer to the list command.
  • Table of Contents
  • Features
  • Displaying Contacts

  • Editing Contacts

    The following commands are documented in this section:

    Adding a person: add

    Adds a person to the CCA Manager.

    Command Format:
    addActionn/JohnDoeNamep/98765432Phone numbere/johnd@example.comEmaila/6SinMing#01-01Addressr/TreasurerRole(s)Optionalcan have multiplec/NUSCyclingCCA(s)Optionalcan have multipled/ManagesmoneyDescriptionOptionalonly one allowed \large \begin{aligned} \overbrace{\texttt{\colorbox{lightgrey}{add}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad & \overbrace{\texttt{\colorbox{lightpink}{n/}\color{green}{John Doe}}} ^{\text{\colorbox{lightpink}{Name}}} \quad \overbrace{\texttt{\colorbox{lightblue}{p/}\color{green}{98765432}}} ^{\text{\colorbox{lightblue}{Phone number}}} \quad \overbrace{\texttt{\colorbox{lightgreen}{e/}\color{green}{johnd@example.com}}} ^{\text{\colorbox{lightgreen}{Email}}} \quad \overbrace{\texttt{\colorbox{yellow}{a/}\color{green}{6 Sin Ming \#01-01}}} ^{\text{\colorbox{yellow}{Address}}} \\& \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{lavender}{r/}\color{green}{Treasurer}}} ^{\text{\colorbox{lavender}{Role(s)}}} } \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{plum}{c/}\color{green}{NUS Cycling}}} ^{\text{\colorbox{plum}{CCA(s)}}} } \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{only one allowed}} } }{ \overbrace{\texttt{\colorbox{aqua}{d/}\color{green}{Manages money}}} ^{\text{\colorbox{aqua}{Description}}} } \end{aligned}
    Tip:
    • A person can have any number of Role(s) and CCAs(s) (including 0)
    • A person need not have any Description attached.
    Warning:
    • When adding a role, (E.g., 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.
    Examples:
    • 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
    Outcome:

    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.

    Possible Failures:
    • Incorrect format of parameters.
    • Not having the minimum parameters (A contact must have name, phone, email, address).
  • Table of Contents
  • Features
  • Editing Contacts

  • Editing a person: edit

    Edits an existing person in the CCA Manager.

    Command Format:
    editAction1Index of personin ResultBoxn/JohnDoeNameOptionalonly one allowedp/98765432Phone numberOptionalonly one allowede/johnd@example.comEmailOptionalonly one alloweda/6SinMing#01-01AddressOptionalonly one allowedr/TreasurerRole(s)Optionalcan have multiplec/NUSCyclingCCA(s)Optionalcan have multipled/ManagesmoneyDescriptionOptionalonly one allowed \large \begin{aligned} \overbrace{\texttt{\colorbox{lightgrey}{edit}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad & \overbrace{\texttt{\fcolorbox{tomato}{transparent}{\color{green}{1}}}} ^{\substack{ \text{\colorbox{gold}{Index of person}} \\ \text{\colorbox{gold}{in \textbf{Result Box}}} }} \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{only one allowed}} } }{ \overbrace{\texttt{\colorbox{lightpink}{n/}\color{green}{John Doe}}} ^{\text{\colorbox{lightpink}{Name}}} } \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{only one allowed}} } }{ \overbrace{\texttt{\colorbox{lightblue}{p/}\color{green}{98765432}}} ^{\text{\colorbox{lightblue}{Phone number}}} } \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{only one allowed}} } }{ \overbrace{\texttt{\colorbox{lightgreen}{e/}\color{green}{johnd@example.com}}} ^{\text{\colorbox{lightgreen}{Email}}} } \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{only one allowed}} } }{ \overbrace{\texttt{\colorbox{yellow}{a/}\color{green}{6 Sin Ming \#01-01}}} ^{\text{\colorbox{yellow}{Address}}} } \\& \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{lavender}{r/}\color{green}{Treasurer}}} ^{\text{\colorbox{lavender}{Role(s)}}} } \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{plum}{c/}\color{green}{NUS Cycling}}} ^{\text{\colorbox{plum}{CCA(s)}}} } \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{only one allowed}} } }{ \overbrace{\texttt{\colorbox{aqua}{d/}\color{green}{Manages money}}} ^{\text{\colorbox{aqua}{Description}}} } \end{aligned}
    Information:
    • Index of person must be a number greater than 0.
    • At least one of the optional fields must be provided.
    • Existing values will be updated to the input values.
    Tip:
    • To remove all Roles of a person, use r/nil.
    • To remove all CCAs of a person, use c/nil.
    • When removing all CCAs of a person, all Roles will also be removed, because a person with no CCA should not have any Roles.
    Warning:
    • When editing Roles, (E.g., edit 1 r/new role), the existing Roles of the person will be removed. Editing of Roles is not cumulative.
    • When editing Roles, the person must either already have a CCA or a CCA must be added at the same time, (E.g., edit 1 c/CCA r/new role).

    Examples:
    • edit 1 p/91234567 e/johndoe@example.com
      • Edits the phone number and email address of the 1st person to be 91234567 and johndoe@example.com respectively.
    • edit 2 r/nil
      • Removes all Roles of the 2nd person.
    • edit 1 c/NUS Rollers c/NUS Origami
      • Edits the CCAs of the 2nd person to be NUS Rollers and NUS Origami.
    Outcome:

    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.

    Possible Failures:
    • The Index of person must be within range. For example, it must be greater than 0, and smaller than the length of the currently displayed list of people. This is because the Index of person will be used to indicate which person to operate the command on.
  • Table of Contents
  • Features
  • Editing Contacts

  • Assigning roles to person: assign

    Appends new roles to a person.

    Information: 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:
    • Running assign 1 r/Captain results in the person having roles: Treasurer, Logistics and Captain.
    • Running edit 1 r/Captain results in the person having role: Captain.
    Command Format:
    assignAction1Index of personin ResultBoxr/TreasurerRole(s)must have at least onecan have multiple \large \overbrace{\texttt{\colorbox{lightgrey}{assign}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad \overbrace{\texttt{\fcolorbox{tomato}{transparent}{\color{green}{1}}}} ^{\substack{ \text{\colorbox{gold}{Index of person}} \\ \text{\colorbox{gold}{in \textbf{Result Box}}} }} \quad \underset{ \substack{ \text{\color{red}{must have at least one}} \\ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{lavender}{r/}\color{green}{Treasurer}}} ^{\text{\colorbox{lavender}{Role(s)}}} }
    Warning:
    • When assigning a role, (E.g., assign 1 r/new role), that person must already be in a CCA.
    Examples:
    • assign 1 r/Treasurer
    Outcome:

    For assign 1 r/Treasurer

    Possible Failures:
    • The Index of person must be within range. For example, it must be greater than 0, and smaller than the length of the currently displayed list of people. This is because the Index of person will be used to indicate which person to operate the command on.
    • If the Role is nil (for instance, the command you ran is assign 1 r/nil), the command will error out.
    Tip: If you intend to remove all roles for a person, try running edit <index of person> r/nil, (see the edit command).
  • Table of Contents
  • Features
  • Editing Contacts

  • Track a person owing money: owe

    Set up the amount of money a person owes.

    Command Format:
    oweAction1Index of personin ResultBoxm/10.00Amount owed \large \overbrace{\texttt{\colorbox{lightgrey}{owe}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad \overbrace{\texttt{\fcolorbox{tomato}{transparent}{\color{green}{1}}}} ^{\substack{ \text{\colorbox{gold}{Index of person}} \\ \text{\colorbox{gold}{in \textbf{Result Box}}} }} \quad \overbrace{\texttt{\colorbox{aquamarine}{m/}\color{green}{10.00}}} ^{\text{\colorbox{aquamarine}{Amount owed}}}
    Examples:
    • owe 1 m/10.00
    Outcome:

    For owe 1 m/10.00:

    Possible Failures:
    • The amount of money provided 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.
  • Table of Contents
  • Features
  • Editing Contacts

  • Charge a person with money: charge

    Charge a person with an amount of money by CCA and optionally, by role.

    Command Format:
    chargeActionm/10.00Amount to chargec/NUSCyclingCCA(s)must have at least onecan have multipler/TreasurerRole(s)Optionalcan have multiple \large \overbrace{\texttt{\colorbox{lightgrey}{charge}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad \overbrace{\texttt{\colorbox{aquamarine}{m/}\color{green}{10.00}}} ^{\text{\colorbox{aquamarine}{Amount to charge}}} \quad \underset{ \substack{ \text{\color{red}{must have at least one}} \\ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{plum}{c/}\color{green}{NUS Cycling}}} ^{\text{\colorbox{plum}{CCA(s)}}} } \quad \underset{ \substack{ \text{\color{red}{Optional}} \\ \text{\color{red}{can have multiple}} } }{ \overbrace{\texttt{\colorbox{lavender}{r/}\color{green}{Treasurer}}} ^{\text{\colorbox{lavender}{Role(s)}}} }
    Information:

    The people who will be charged are people who are:

    1. In any of the CCAs provided, AND
    2. In any of the roles provided.
    Tip:

    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.

    Examples:
    • charge m/10.00 c/NUS Cycling r/Treasurer
      • Charges all members in NUS Cycling with the role of Treasurer
    Outcome:

    For charge m/10.00 c/NUS Cycling r/Treasurer:

    Possible Failures:
    • The amount of money provided 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.
    • If nobody is charged, the command will fail. This might be caused by nobody in the contact list fulfilling both the CCAs and the Roles provided to the command.
  • Table of Contents
  • Features
  • Editing Contacts

  • Track attendance: setatt

    Tracks the attendance of each contact by recording the number of attended sessions out of the total number of sessions.

    Command Format:
    setattAction1Index of personin ResultBoxatt/3Number of attendedsessionss/10Number of sessions \large \overbrace{\texttt{\colorbox{lightgrey}{setatt}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad \overbrace{\texttt{\fcolorbox{tomato}{transparent}{\color{green}{1}}}} ^{\substack{ \text{\colorbox{gold}{Index of person}} \\ \text{\colorbox{gold}{in \textbf{Result Box}}} }} \quad \overbrace{\texttt{\colorbox{aquamarine}{att/}\color{green}{3}}} ^{\substack{ \text{\colorbox{aquamarine}{Number of attended}} \\ \text{\colorbox{aquamarine}{sessions} }}} \quad \overbrace{\texttt{\colorbox{aquamarine}{s/}\color{green}{10}}} ^{\text{\colorbox{aquamarine}{Number of sessions}}}
    Examples:
    • setatt 2 att/4 s/6
      • Sets the attendance of the second person in the Result Box to be 4/6, which indicates that they have attended 4 out of a total of 6 sessions.
    Outcome:
    Possible Failures:
    • If the number of sessions attended (att/) exceeds the number of sessions total s/, the application will error out.
    • The Index of person must be within range.
  • Table of Contents
  • Features
  • Editing Contacts

  • Delete a CCA: cca_delete

    Delete a current existing CCA

    Command Format:
    cca_deleteActionc/NUSCyclingCCA to delete \large \overbrace{\texttt{\colorbox{lightgrey}{cca\_delete}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad \overbrace{\texttt{\colorbox{plum}{c/}\color{green}{NUS Cycling}}} ^{\text{\colorbox{plum}{CCA to delete}}}
    Info:
    • This command will remove the selected CCA from every person in the CCA, but will not delete the person.
    • After running this command, CCA Manager will only list contacts of the deleted CCA. Type the list command again to see all contacts.
    Warning:
    • If this command removes the last CCA a person has, the roles that person has will also be automatically deleted. This is because a person without a CCA should not have any roles.

    Examples:
    • cca_delete c/NUS Cycling
    • cca_delete c/Jogging
    Outcome:

    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.

    Possible Failures:
    • If the CCA specified to the command does not exist, the command will fail as there is nothing to delete.
  • Table of Contents
  • Features
  • Editing Contacts

  • Deleting Contacts

    The following commands are documented in this section:

    Deleting a person: delete

    Warning: This operation is irreversible.

    Deletes the specified person from the CCA Manager.

    Command Format:
    deleteAction1Index of personin ResultBox \large \overbrace{\texttt{\colorbox{lightgrey}{delete}}} ^{\text{\colorbox{lightgrey}{Action}}} \quad \overbrace{\texttt{\fcolorbox{tomato}{transparent}{\color{green}{1}}}} ^{\substack{ \text{\colorbox{gold}{Index of person}} \\ \text{\colorbox{gold}{in \textbf{Result Box}}} }}
    Examples:

    delete 3

    Outcome:
    Before
    After
    Possible Failures:
    • Index out of range
  • Table of Contents
  • Features
  • Deleting Contacts

  • Clearing all entries: clear

    Warning: This operation is irreversible.

    Clears all entries from the CCA Manager.

    Command Format:
    clearAction \large \overbrace{\texttt{\colorbox{lightgrey}{clear}}} ^{\text{\colorbox{lightgrey}{Action}}}
    Examples:

    clear

    Outcome:
    Before
    After
  • Table of Contents
  • Features
  • Deleting Contacts

  • Storage

    The following features are documented in this section:

    Information: CCA Manager data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.

    Editing the data file

    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.

    Warning:

    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.

  • Table of Contents
  • Features
  • Storage

  • Archiving data files [coming in v2.0]

    Details coming soon ...

  • Table of Contents
  • Features
  • Storage

  • FAQ

    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.

  • Table of Contents

  • Common Issues

    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.


  • Table of Contents

  • Known issues

    1. When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, the Graphic User Interface will open off-screen. The remedy is to delete the preferences.json file created by the application before running the application again.
  • Table of Contents

  • Command summary

    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
  • Table of Contents

  • Glossary

    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.
  • Table of Contents