User Guide
Welcome to CampusCompanion
Organising your university life is just a few keystroke away!
CampusCompanion is a desktop application built for NUS Computer Science students to manage the tracking of assignments and internships.
Here’s an overview of how CampusCompanion can help you streamline the most important tasks that you will encounter in your university life.
- Store and edit information about assignments and internships
- Track the status of these assignments and internships
- Overview of the tasks for the upcoming week and month
Table of Contents
- About this guide
- Getting started
- Glossary
- Understanding the Graphical User Interface(GUI)
- Command Format
- Tutorial (for new users)
- Features
- Command Summary
- Parameter Summary
- FAQ
About this guide
New Users
If you are new here, and need help with getting started with our application, visit our Getting Started guide to onboard onto CampusCompanion smoothly!
After setting up the application, if you are looking for a step-by-step walk-through on the various features that CampusCompanion has, click here for a tutorial of CampusCompanion.
If you are looking to understand the different parts of the Graphical User Interface, click here for a comprehensive look at our GUI.
If you want a detailed look into each of the features that CampusCompanion has, visit our features section.
For any other queries that you might have, visit the FAQ section to find the answers to your queries!
Experienced users
If you have some experience with our application, and would like an overview of the keywords, visit our command summary page or parameter summary page.
If you want a detailed look into each of the features that CampusCompanion has, visit our features section.
Getting Started
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
campuscompanion.jar
from here. -
Copy the file to the folder you want to use as the home folder for your CampusCompanion.
-
Open a command terminal,
cd
into the folder you put the jar file in, and use thejava -jar campuscompanion.jar
command to run the application.
A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
-
Type the command in the command box and press Enter to execute it. e.g. typing
help
and pressing Enter will open the help window.
Some example commands you can try:-
list-a
: Lists all assignments. -
list-i
: Lists all internships. -
add-a n/CS2100 Assignment 1 e/2023-10-29
: Adds an assignment namedCS2100 Assignment 1
with a deadline of29 Oct 2023 23:59
to the Campus Companion. -
delete-a 3
: Deletes the assignment with index 3 in the current list. -
mark-a 1
: Marks the assignment with index 1 in the current list. -
exit
: Exits the app.
-
-
Refer to the Features below for details of each command.
Scroll back to Table of Contents
Glossary
Definitions
Here are some descriptions of the words we use throughout the User Guide:
Term | Definition |
---|---|
Command | An input from the user that tells CampusCompanion to perform an action (eg. ADD an assignment, DELETE an assignment). |
Parameter | Parameters are the details you would include about the assignment/internship (eg. Name, Description). A command may include 1 or more parameters. |
Required Parameter | These are parameters that must be included in the command, otherwise the command will fail, and an error message will be displayed to you. |
Optional Parameter | These are parameters that can be omitted from the command with no errors. Such parameters provides you the flexibility of capturing or omitting additional, less important information. |
GUI | Graphical User Interface (GUI) represents the visual display of CampusCompanion which you are looking at and interacting with. |
GUI component | The GUI is made up of many GUI components such as the calendar component, the list component etc. For more information on specific GUI components, click here. |
CLI | Command Line Interface (CLI) represents a text-based user interface to interact with the application. |
Scroll back to Table of Contents
Understanding the Graphical User Interface (GUI)
Quick Orientation
Here is a quick summary of each GUI component within CampusCompanion
Component | Description |
---|---|
Menu Bar | Contains dropdown menu for File which lets you exit CampusCompanion, and Help which leads you to this user guide. |
Command Box | Commands are entered here. |
Result Box | Feedback from entered command is shown here. If command entered is erroneous, the required correct usage will be shown. |
List Title | Indicates if Assignments or Internships are currently being shown. |
Assignment/Internship List | Shows all relevant information cards, can be switched between Assignments and Internships through the use of the list-x command, x being a or i respectively. Commands that filter information cards such as find will update this list. When CampusCompanion is first opened, all Assignment information cards will be shown. |
Information Card | Shows all information of individual assignment or internship , these can be filtered through the use of list or find . |
Index Number | The index number of the card, it is used in commands like delete and edit . |
Calendar with Task Preview | The calendar shows up to 2 tasks, be it assignment or internship for each day, if there are any. The current day is highlighted in purple. |
Calendar Navigation Buttons | Used to change the month being shown on the calendar. |
Footer | Shows the location of the saved data. This file can be used to move data to another computer. |
Scroll back to Table of Contents
Notes about the GUI
While there are clickable buttons such as the calendar navigation button and the options on the menu bar, CampusCompanion is a CLI-focused application, and as such, implements commands to do the same thing. For example:
Help
can be achieved using thehelp
command.File -> Exit
can be achieved using theexit
command.
Scroll back to Table of Contents
Command format
Format | Explanation | Examples |
---|---|---|
Words in UPPER_CASE |
These are parameter values that are supplied by the user | add-a n/NAME... can be used as add-a n/CS2103T TP... |
Items in square brackets | These are optional parameters (can be left empty by user) | add-a n/NAME ... [t/TAG] can be used as add-a n/CS2103T TP t/milestone2 or add-a n/CS2103T TP |
Items with … after them |
These are parameters that can be used multiple times (or omitted completely) | add-a ... [t/TAG]… can be used as add-a ... t/groupProject t/milestone2 or add-a ... |
Parameters can be in any order. | N/A | add-a n/NAME e/DEADLINE ... is equivalent to add-a e/DEADLINE n/NAME |
Extraneous parameters for commands that do not take in parameters will not be allowed. | N/A | list-a 123 will lead to an error message because the command should be list-a |
Scroll back to Table of Contents
CampusCompanion Tutorial (for new users)
This is a tutorial for new CampusCompanion users. This tutorial will provide you step-by-step instructions for how to use each command for both assignments and internships.
- Launch CampusCompanion. You may refer to the instructions here.
- Let’s try adding an assignment to CampusCompanion. Enter the command
add-a n/CC tutorial 1 e/2023-11-11
- Add a few more assignments. Try out filling optional parameters as well, etc
add-a n/CC optional 1 e/2023-11-11 16:00 d/try this out! s/complete p/2023-11-10 t/Optional
- Note: On adding assignments, they will automatically be sorted by their deadlines.
The assignment due earliest will be first in the assignments list, which can be view using
list-a
.
- Note: On adding assignments, they will automatically be sorted by their deadlines.
The assignment due earliest will be first in the assignments list, which can be view using
- Let us try editing the description of
CC tutorial 1
to saynice descriptive description!
. Inputlist-a
to show the assignments list, then look forCC tutorial 1
. In the example above, it is in index 2, so we doedit-a i/2 d/nice descriptive description!
- We are done with
CC tutorial 1
! Let’s now mark it as complete. First, let’s try usingfind-a
to filter and narrow down the list. We can dofind-a tutorial
to filter the assignments list to show only assignments that containtutorial
. Then, we use the index shown in the list (in this case, 1) and domark-a 1
to mark the assignment as completed. - To see all our assignments again, let’s do
list-a
. - Lastly, let’s delete our
CC tutorial 1
as we no longer want to track it. With reference the picture above, we will dodelete-a 2
. - Congratulations! You are now ready to use CampusCompanion. To view all our features, you may visit out features section.
Scroll back to Table of Contents
Features
Assignment Features
Adding an assignment
add-a n/NAME e/YYYY-MM-DD HH:mm [d/DESCRIPTION] [s/STATUS] [p/YYYY-MM-DD HH:mm] [t/TAG]
To view assignment parameter information, click here
Purpose: To add an assignment into CampusCompanion.
Examples:
add-a n/CS2100 Assignment 1 e/2023-10-29 13:00
add-a n/CS2103T v1.3 e/2023-10-28 18:00 d/Work on add function for task s/incomplete p/2023-10-27 16:00 t/Coding
When you might use it:
- When you first receive news of an assignment or deadline, and you want to keep track of it.
- When you already have existing assignments not written in CampusCompanion, and want to organise them all in one place.
Scroll back to Table of Contents
Editing an assignment
edit-a i/INDEX d/DESCRIPTION
Purpose: Edit the description of a specified assignment
Note
- The index refers to the position of the assignment in the assignment list. To find out
the index of the assignment you want to edit, use the
list-a
command.
Examples:
- Use
list-a
to list all the assignments, followed byedit-a i/1 d/This is my new description
to edit the description of the assignment at index 1. - Use
find-a CS2103T
to find the assignment with “CS2103T” in the name. Assuming that this assignment - is at index 1, use
edit-a i/1 d/Create test cases
to edit its description to “Create test cases”.
When you might use it:
- If the assignment was originally added with a wrong description.
- If the requirements of the assignment has changed since you last added it.
Scroll back to Table of Contents
Deleting an assignment
delete-a INDEX
To view assignment parameter information, click here
Purpose: To delete the specified assignment from CampusCompanion
ALERT
This command cannot be undone. If you remove the wrong assignment, you will have to add it back using add-a
.
Note:
-
The index refers to the index number in the displayed assignment list. If you want to find out the index of the assignment you want to delete, you can use
list-a
to view all the current assignment you have. -
The first assignment in the list may not be index 1. Please refer to parameter summary if you want to understand what is the index number.
Examples:
list-a
to list all the assignments, followed bydelete-a 1
to delete assignment with index 1.find-a CS2103T
to find the assignment you want to delete which has “CS2103T” in the name. Assuming this assignment is at index 1, usedelete-a 1
to delete it.
When you might use it:
- If the assignment is completed and submitted, and you have no need to continue tracking it.
- If the assignment is wrongly added.
- If certain details of the assignment was wrongly added, and these details are non-editable (e.g. name of assignment, deadline). For information on which details can be edited, refer here.
Scroll back to Table of Contents
Marking an assignment as complete
mark-a INDEX
To view assignment parameter information, click here
Purpose: To mark a specific assignment in CampusCompanion as complete.
Note:
- The index refers to the index number in the displayed assignments list. If you want to find out the index of the
assignment you want to mark, you can use
list-a
to view all the current assignments you have. - The first assignment in the list may not be index 1. Please refer to parameter summary if you want to understand what is the index number.
- If an assignment is wrongly marked as complete, you can unmark it with
unmark-a
.
Examples:
list-a
to list all the assignments, thenmark-a 1
to mark the assignment with index 1 as complete.find-a MIH1101
to find assignments with MIH1101 in their name. Assuming the assignment to mark is at index 1, you can usemark-a 1
to mark it.
When you might use it:
- When you complete an assignment, and you want to mark it.
- When you wrongly unmark a completed assignment, and want to mark it again.
Marking an assignment as incomplete
unmark-a INDEX
To view assignment parameter information, click here
Purpose: To mark a specific assignment in CampusCompanion as incomplete.
Note:
- The index refers to the index number in the displayed assignments list. If you want to find out the index of the
assignment you want to unmark, you can use
list-a
to view all the current assignments you have. - The first assignment in the list may not be index 1. Please refer to parameter summary if you want to understand what is the index number.
- If a completed assignment is wrongly marked as incomplete, you can mark it again with
mark-a
.
Examples:
list-a
to list all the assignments, thenunmark-a 1
to mark the assignment with index 1 as incomplete, assuming it was complete previously.find-a MIH1101
to find assignments with MIH1101 in their name. Assuming the assignment to unmark is at index 1 and is complete, you can useunmark-a 1
to mark it as incomplete.
When you might use it:
- When you wrongly mark an assignment as complete, and you want to unmark it.
- When you added an assignment with a complete status mistakenly, and want to unmark it.
- When you initially completed an assignment and marked it, but realise you have changes to make regarding the assignment and want to continue working on it.
Scroll back to Table of Contents
Listing and Filtering assignments
list-a [s/YYYY-MM-DD [HH:mm]] [e/YYYY-MM-DD [HH:mm]]
To view assignment parameter information, click here (Refer to last two rows).
Purpose: To list all the assignments with deadline between the given start date and end date. This command also changes the view to assignments tab (if the view is not currently at the assignments tab).
Examples:
Combination | Example | What is displayed to you |
---|---|---|
None present | list-a |
All assignments that are saved in CampusCompanion. |
Only start date with time present | list-a s/2023-12-10 18:00 |
All assignments with deadline later than or equal 10 Dec 2023 18:00 |
Only start date without time present | list-a s/2023-12-10 |
All assignments with deadline later than or equal 10 Dec 2023 00:00 |
Only end date with time present | list-a e/2023-12-10 18:00 |
All assignments with deadline earlier than or equal to 10 Dec 2023 18:00 |
Only end date without time present | list-a e/2023-12-10 |
All assignments with deadline earlier than or equal to 10 Dec 2023 23:59 |
Both start date and end date present (Example not shown for this combination without timing, but it is valid) | list-a s/2023-12-10 18:00 e/2023-12-17 18:00 |
All assignments with deadline between 10 Dec 2023 18:00 and 17 Dec 2023 18:00 |
When you might use it:
- If you want to see all your current assignments.
- If you want to filter your current assignments by date, and view the assignments only within a specified time frame.
Scroll back to Table of Contents
Finding an assignment by keywords
find-a KEYWORD
Purpose: To find all assignments whose name contains the keyword.
Note:
The keyword is case-insensitive and does not require the whole word to match, for example, if you had an assignment with the name “CS2100 Lab”, using the command find-a l
, find-a la
, find-a lab
or find-a LAB
will match with this assignment
Examples:
find-a CS2103T
to find all assignments with “CS2103T” in the assignment name
When you might use it:
-
You might use the
find-a
command when you are looking for specific assignments within a large pool of assignments and want to filter them based on keywords or partial keywords. This can help you quickly locate assignments related to a particular topic, course, or category, saving you time and effort in manually searching through a list of assignments. -
If you need to manage and organize your assignments efficiently,
find-a
can be a valuable tool to retrieve specific assignments without the need to remember their exact names. If you are a student trying to locate all your lab assignments this command simplifies the process. -
When you need to prioritize your work or plan your schedule, using
find-a
to filter assignments by keywords allows you to focus on specific tasks or projects. This selective approach helps you manage your workload more effectively and ensures that you allocate your time and resources to the most relevant assignments.
Scroll back to Table of Contents
Internship Features
Adding an internship [coming soon]
Scroll back to Table of Contents
Delete an internship [coming soon]
Scroll back to Table of Contents
Edit an internship [coming soon]
Scroll back to Table of Contents
List all internships [coming soon]
Scroll back to Table of Contents
General Commands
Exiting the program
exit
Purpose: Exits the program.
Scroll back to Table of Contents
Viewing help
help
Purpose: Shows a message explaining how to access the help page, which is the CampusCompanion User Guide.
When you might use it
- If you have forgotten what is the structure for a certain command and its parameters.
- If you keep receiving error messages after entering commands, and are unsure why.
- If you are unsure of what are the commands that are available to you in CampusCompanion.
Scroll back to Table of Contents
Data Related Features
Saving the data
CampusCompanion data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Scroll back to Table of Contents
Editing the data file
CampusCompanion data are saved automatically as a JSON file [JAR file location]/data/campuscompanion.json
.
Advanced users are welcome to update data directly by editing that data file. After editing that file, when you re-run the application, the new data will automatically be shown.
Note: We do not recommend editing the file directly, because if the data is entered in the wrong format, it would corrupt the application, and the application may not be able to load subsequently.
Scroll back to Table of Contents
Command Summary
This section provides a summary of the commands.
Note: Each command may require 1 or more compulsory parameters. Please refer to parameter summary section, for more information on each parameter, or feature section, for detailed information about each feature.
Assignment Commands
Command | What it does |
---|---|
add-a | Adds an assignment into CampusCompanion |
edit-a | Edits the existing information of the specified assignment |
delete-a | Deletes the specified assignment from CampusCompanion |
mark-a | Changes the status of the specified assignment to completed |
unmark-a | Changes the status of the specified assignment to incomplete |
list-a | Changes the view to assignments tab (if the view is not already at the assignments tab), and lists the assignments with deadline within a specified time frame |
find-a | Changes the view to assignments tab (if the view is not already at the assignments tab), and lists the assignments with name matching the given keyword |
Scroll back to Table of Contents
Internship Commands
(coming soon)
Scroll back to Table of Contents
Parameter Summary
Assignment Parameters
The information below specifies parameter description, constraints and usage through valid and invalid examples.
Parameter | Description | Constraints | Valid Examples | Invalid Examples |
---|---|---|---|---|
n/ | Name of the assignment | NA | CS2100 Assignment, Tutorial 2 | NA |
e/ | Deadline of the assignment | Has to be in YYYY-MM-DD HH:mm format, HH:mm is optional, and set as 23:59 by default Date inputted MUST be after current date. |
2023-12-12, 2023-12-10 15:00 | 12-12-2023, 30/12/2023 |
d/ | Description of the assignment (optional parameter) | NA | Complete UML diagram, Finish question 2 | NA |
s/ | Status (optional parameter) | Either complete or incomplete |
complete, incomplete | done, finished, completed |
p/ | Planned finish date of assignment (optional parameter) | Has to be in YYYY-MM-DD HH:mm format, HH:mm is optional, and set as 23:59 by default Date inputted MUST be after current date. |
2023-12-12, 2023-12-10 15:00 | 12-12-2023, 30/12/2023 |
INDEX* or i/ (in edit-a ) |
Index in assignments list | Positive integer less than or equal to 2147483649 | 1, 2147483647 | -1, 2147483649 |
s/ (in list-a ) |
Start date to filter assignments with deadlines after the date (optional parameter) | Has to be in YYYY-MM-DD HH:mm format, HH:mm is optional, and set as 00:00 by default Date inputted MUST be after current date. |
2023-12-12, 2023-12-10 15:00 | 12-12-2023, 30/12/2023 |
e/ (in list-a ) |
End date to filter assignments with deadlines before the date (optional parameter) | Has to be in YYYY-MM-DD HH:mm format, HH:mm is optional, and set as 23:59 by default Date inputted MUST be after start date. |
2023-12-12, 2023-12-10 15:00 | 12-12-2023, 30/12/2023 |
Scroll back to Table of Contents
Internship Parameters
Scroll back to Table of Contents
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 Campus Companion home folder.
Scroll back to Table of Contents
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.json
file created by the application before running the application again.