User Guide
JerylFypManager is a desktop application catered to professors and final year project (FYP) students to manage and track the progress of students’ FYP projects, as well as serving as a platform for professors to provide feedback on their students’ progress. The application’s simple design provides a nifty platform to navigate through and present the FYP projects in a concise manner.
- 1. Introduction
- 2. Quick start
- 3. Features
- 4. FAQ
- 5. Command summary
- 6. Glossary
1. Introduction
1.1. About the User Guide
The purpose of this guide is to explain to you how to use FypManager and to allow you to have an enjoyable experience. It explains the features and commands compatible with FypManager. It is also structured in a way to let you easily navigate to relevant sections.
1.2. Navigating the User Guide
For help with installing and understanding FypManager’s GUI, you can head over to our Quick start section.
For the full documentation of each feature, you can refer to our Features section.
For a list of frequently asked questions about FypManager, you can refer to our FAQ section.
If you are an advanced user, you can refer to our Command summary section.
2. Quick start
2.1. Installation
-
Ensure you have Java
11
or above installed on your Computer. Otherwise, you may follow this guide to install Java11
. -
Download the latest
JerylFypManager.jar
from here. -
Copy the file to the desired folder you want to use as the home folder for your FypManager.
-
Double-click the file to start the app. The GUI, similar to the one shown below, should appear in a few seconds. Note how the app contains some sample data (not the same as the image below).
-
Do refer to GUI Overview to understand what each component in the GUI does.
-
Do refer to Tutorial to test a few sample commands.
2.2. GUI Overview
The various GUI components of FypManager are described in the picture below:
-
Menu bar
: Menu buttons that you can click to exit FypManager or to open up the help window that contains a link to this user guide. -
Not completed list
: Sometimes also calleduncompleted list
. You can view the list of students who have yet to complete their FYP, possibly along with their deadlines. -
Completed list
: You can view the list of students who have completed their FYP. -
Command box
: You can type and enter commands to run in this box. -
Result box
: You can view the results from running your commands in this box.
2.3. Tutorial
Type the command in the command box and press Enter to execute it.
Some example commands that you can try:
-
list
- lists all FYP projects the professor is supervising. -
add -s i/A0123456G n/John Doe p/Automation of Selenium e/johndoe@gmail.com
- adds the FYP project of the student named John Doe with student ID A0123456G, emailjohndoe@gmail.com
, and project titled Automation of Selenium. -
delete -s i/A0123456G
- deletes the FYP project of the student with student ID A0123456G. -
mark i/A0123456G s/IP
- marks the FYP project of the student with student ID A0123456G as In Progress. -
find machine
- searches any FYP project names that has “machine” in its name, for example it will include the FYP project named “Machine Learning”. -
help add -s
- shows a message on how to use theadd -s
command. -
help
- shows the list of all commands available. -
exit
- exits the application.
Refer to the Features section for details of each command.
3. Features
Notes about the command format:
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
e.g. inadd -s n/FYP_NAME
,FYP_NAME
is a parameter which can be used asadd -s n/Neural Network
. -
Having multiple parameters when exactly one is required will result in the latest parameter being read.
e.g.add -s i/A0123456J i/A6543210J n/Russell Dash
will be read asadd -s i/A6543210J n/Russell Dash
as the student ID parameter appears twice. -
Adding or editing duplicate student tags will result in only the set of distinct tags being added or edited into the student.
e.g.edit A0123456J t/SOC t/ML t/SOC
will result in the student with student ID A0123456J to have two tags,SOC
andML
. -
Items in square brackets are optional.
e.g.n/FYP_NAME [t/TAG]
can be used asn/Neural Network t/SOC
or asn/Data Caching
. -
Items with
…
after them can be used multiple times including zero times.
e.g.[t/TAG]…
can be used ast/SOC
,t/SOC t/ML
etc. -
Parameters can be in any order.
e.g. if the command specifiesn/FYP_NAME t/TAG
,t/TAG n/FYP_NAME
is also acceptable. -
Extraneous parameters for commands that do not take in parameters (such as
list
andexit
) will be ignored.
e.g. if the command specifieslist 456
, it will be interpreted aslist
. -
Invalid parameters for
help
command will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
e.g. if the command specifieshelp sort -p 456
, it will be interpreted as `help sort -p’. -
If the flag is not specified for a
help certainCommand
command, wherecertainCommand
is a valid command word, the default help message forcertainCommand
will be shown.
e.g. if the command specifieshelp sort
, it will be interpreted ashelp sort -p
. -
STUDENT_ID
should be in the following format: “A” + (7 digits) + (1 uppercase letter).
e.g.A0123456G
. -
STUDENT_NAME
Student names should only contain alphabetic characters, spaces and some supported characters given below, and it should not be blank:
/ \ ( ) [ ] { } . -
Cannot start with a non-alphabetic character.
Leading and trailing spaces will be trimmed. -
FYP_NAME
should only include alphanumeric characters and spaces but cannot start with a space.
-
and
DEADLINE_NAME
should only include alphanumeric characters and spaces but cannot start with a space.
e.g.Support vector machine: some improvements
is invalid -
DEADLINE_DATETIME
can be in the format of “DD-MM-YYYY HH:mm” or “YYYY-MM-DD HH:mm”.
e.g.05-11-2022 08:00
,2022-11-05 08:00
. - For deadline tasks, a priority rank
DEADLINE_RANK
specifies the importance of said task.
e.g.delete -d i/A0123456X r/2
would delete the 2nd highest priority deadline for the student with student ID of A0123456X.
3.1. General Features
3.1.1. Viewing help: help
Shows a list of valid commands or a help page on a particular command.
Format: help [COMMAND]
Examples:
-
help add -s
- This shows a detailed help message on theadd -s
command. -
help
- This shows an open window revealing the URL to the user guide which could be copied to the user’s clipboard.
3.1.2. List of FYPs: list
Shows a list of final year projects with the student IDs.
Format: list
3.1.3. Sorting the FYP list: sort
Shows the sorted list of final year projects based on a specific field.
The two fields that the user can sort by are:
ProjectName
ProjectStatus
Format for each variant of sort
:
-
ProjectName
:sort [-p]
From the uncompleted list, we can see that the project names are sorted (ignoring cases).
-
ProjectStatus
:sort -s
We can see that those who are yet to start are gathered on top of the uncompleted list.
NOTE
A sort
command without the flag specified explicitly will be interpreted as sort -p
by default.
3.1.4. Clearing the FYP list: clear
Clears the FYP list.
Format: clear
3.1.5. Exiting the application: exit
Exits the program.
Format: exit
3.2. Student Features
3.2.1. Adding students FYP: add -s
Adds a new FYP of a student to the FYP manager. The same student ID should not exist in the FYP manager previously.
NOTE
An add
command without the -s
flag specified explicitly will be interpreted as add -s
by default.
Format: add [-s] i/STUDENT_ID n/STUDENT_NAME p/FYP_NAME e/EMAIL [t/TAG]…
Examples:
-
add -s i/A0123456G n/Jane Doe p/Neural Network e/e0123456@u.nus.edu t/NN t/Difficult
add -s i/A0987654X n/Alex Yeoh p/Data Caching e/e09876567@u.nus.edu
add i/A0987654X n/Alex Yeoh p/Data Caching e/e09876567@u.nus.edu
3.2.2. Removing students FYP: delete -s
Removes a FYP from the FYP manager. The specified student ID must exist in the FYP manager previously.
NOTE
A delete
command without the -s
flag specified explicitly will be interpreted as delete -s
by default.
Format: delete [-s] i/STUDENT_ID
Examples:
delete -s i/A0987654X
delete i/A0987654X
Suppose we have Alex Yeoh as a new student in the list with the details given in the image below.
Running either of the example delete student command above will result in this state.
3.2.3. Marking project status: mark
Marks a FYP as Done/In Progress/Yet to Start, etc.
Format: mark i/STUDENT_ID s/STATUS
- Current supported statuses are as follows:
-
DONE
- Done -
IP
- In Progress -
YTS
- Yet To Start
-
- Parsing of status is case-sensitive:
-
DONE
instead ofDone
,done
, etc.
-
Examples:
mark i/A0123456G s/DONE
mark i/A0234567H s/YTS
-
mark i/A0210283B s/IP
Suppose initially we have Charlotte Oliveiro as one of the students who have completed the project. Suppose there are new things for Charlotte to do, which requires us to change the project status from
DONE
toIP
. Running the last example of mark command will result in the state below.
3.2.4. Searching keyword: find
Finds projects whose field (as specified by user) contains any of the given keyword(s). The four fields that the user can search by are:
ProjectName
StudentId
StudentName
-
Tags
(accorded to a student)
Format for each variant of find
:
-
ProjectName
:find [-p] KEYWORD/[KEYWORD2/KEYWORD3/…]
Example:
find -p neu/gen
finds all project names that contain at least one of the keywords,neu
orgen
. -
StudentId
:find -i KEYWORD/[KEYWORD2/KEYWORD3/…]
Example:
find -i A01
finds all students with student ID containingA01
. -
StudentName
:find -n KEYWORD/[KEYWORD2/KEYWORD3/…]
Example:
find -n Alex/Vivi/roy
finds all students with name that contains eitherAlex
,Vivi
, orroy
. -
Tags
:find -t KEYWORD/[KEYWORD2/KEYWORD3/…]
Example:
find -t colleague/fri/fam
finds all students with a tag that contains eithercolleague
,fri
, orfam
.
NOTE
A find
command without the flag specified explicitly will be interpreted as find -p
by default.
- the
/
in the above examples shows multiple input parameters.
e.g.find -i A0123456X/A0123456G
will search for all students with either student ID ofA0123456X
orA0123456G
. - Only the four specified fields above could be searched, and only one field can be searched at any one time.
- The keyword is case-insensitive, e.g.
Neural NetWORK
will matchneural network
. - The keyword could contain spaces, e.g.
practical guide of machine learning
is allowed. - Partial keywords will also be matched, e.g.
Ne
will matchneural network
andGenetic Algorithm
. - Leading and trailing spaces are ignored, e.g.
neural network
will matchneural network
. - Projects matching at least one keyword will be returned (i.e.
OR
search), e.g.find -t neural network/tree
will match project tags containingneural network
ordecision tree
.
Remark:
- A neat alternative to
list
:find -i a
orfind -i /a
will function the same way aslist
and returns a list of all students, as student ID always begins with letter ‘A’ and the keyword supplied is case-insensitive.
3.2.5. Edit student details: edit
Edits student details according to the input.
Format: edit STUDENT_ID [n/STUDENT_NAME] [p/FYP_NAME] [e/EMAIL] [t/TAG]…
- At least one of the optional fields must be present.
Examples:
-
edit A0210283B n/Not Charlotte
sets the name of the student with student IDA0210283B
intoNot Charlotte
.Before:
After:
-
edit A0123456G p/Food Genetics
sets the project name of the student with student IDA0123456G
intoFood Genetics
. -
edit A0234567H n/John Hoe p/Food Genetics
sets the name of the student with student IDA0123456G
intoJohn Hoe
and at the same time sets the project name intoFood Genetics
.
3.3. Deadline Features
3.3.1. Adding a deadline to a student’s FYP: add -d
Adds a new deadline to a student specified by the student ID. The deadline name should not exist in this student previously.
Format: add -d i/STUDENT_ID n/DEADLINE_NAME d/DEADLINE_DATETIME
Example:
-
add -d i/A0272758C n/Buy Prof some coffee d/06-11-2022 13:30
Before:
After:
3.3.2. Removing a student’s deadline: delete -d
Removes a deadline assigned to a student specified by ID & a priority rank (for example, below highlighted task has a priority rank of 2).
The specified deadline must exist in the student’s deadline list previously.
Format: delete -d i/STUDENT_ID r/DEADLINE_RANK
Example:
-
delete -d i/A0123456G r/1
will delete the first deadline of the student with student IDA0123456G
.
4. 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 FypManager home folder.
Q: What happens if I modify the data file?
A: Although extremely discouraged, the application will start with an empty data.
5. Command summary
5.1. General Commands
Action | Format, Examples |
---|---|
Help |
help [COMMAND] e.g., help add -s , help
|
List | list |
Sort by Project Name | sort [-p] |
Sort by Project Status | sort -s |
Clear | clear |
Exit | exit |
5.2. Student Commands
Action | Format, Examples |
---|---|
Add Student |
add [-s] i/STUDENT_ID n/STUDENT_NAME p/FYP_NAME e/EMAIL [t/TAG]… e.g., add -s i/A0987654X n/John Doe p/Data Caching e/e09876567@u.nus.edu
|
Delete Student |
delete [-s] id e.g., delete -s i/A0987654X , delete i/A0987654X
|
Mark |
mark i/STUDENT_ID s/STATUS e.g., mark i/A0123456G s/IP
|
Find by Project Name |
find [-p] KEYWORD/[KEYWORD2/KEYWORD3/…] e.g., find -p data / software , find data / software
|
Find by Student ID |
find -i KEYWORD/[KEYWORD2/KEYWORD3/…] e.g., find -i 515W/123X/A09281
|
Find by Student Name |
find -n KEYWORD/[KEYWORD2/KEYWORD3/…] e.g., find -n John
|
Find by Tags |
find -t KEYWORD/[KEYWORD2/KEYWORD3/…] e.g., find -t Handsome/Look
|
Edit |
edit STUDENT_ID [n/STUDENT_NAME] [p/FYP_NAME] [e/EMAIL] e.g., edit A0234567H n/John Hoe
|
5.3. Deadline Commands
Action | Format, Examples |
---|---|
Add Deadline |
add -d i/STUDENT_ID n/DEADLINE_NAME d/DEADLINE_DATETIME e.g., add -d i/A0123456G n/Random Task d/23-10-2022 23:59
|
Delete Deadline |
delete -d i/STUDENT_ID r/DEADLINE_RANK e.g., delete -d i/A0123456G r/1
|
6. Glossary
Term | Explanation |
---|---|
Java | A programming language which was used to built FypManager. |
Command-line Interface (CLI) | An interface which involves the users typing text and executing it as commands. |
Graphical User Interface (GUI) | An interface which involves the users clicking buttons and selecting options from the menu bar. |
Final Year Project (FYP) | A project taken by students in their final year of study. |
School of Computing (SoC) | One of the faculties inside the National University of Singapore. |
JerylFypManager | A platform used by SoC Professors for supervising student’s FYP. |
Professor | An academic staff of SoC who is supervising a student’s FYP. |
Student | A SoC student who is taking FYP in their final year of study. |