Welcome to ParentConnect — your all-in-one digital assistant for managing children contact information and grade information!
Tired of dealing with messy spreadsheets or handwritten notes? ParentConnect is a desktop application built especially for kindergarten teachers in Singapore, helping you stay organized, save time, and focus more on your students. With our clean user interface and intuitive commands, ParentConnect provides a quick and reliable way to search, filter, and update student information.
Designed for fast typists, ParentConnect provides a text field for users to enter commands, while presenting information back in a simple visual interface (GUI) that makes admin work easy and hassle-free.
Why teachers love ParentConnect 💖
🕒 Saves time: Perform common tasks like adding or finding contacts in just a few keystrokes.
👩🏫 Built for educators: Manage all your class contact details — children, parents, allergies and tags, and more — in one place.
💾 Worry-free: Your data is automatically saved and ready to use every time you open the app.
🧠 Smart search: Quickly find children by name, parent, allergy, or tag.
If you can type quickly, you’ll find ParentConnect faster and smoother than traditional apps — and if not, don’t worry! Its friendly interface and helpful guide will get you started in no time.
To help you get the most out of ParentConnect, this guide walks you through installation, basic commands, and useful features step-by-step.
Ensure you have Java 17 or above installed in your Computer.
Mac users: Follow the setup guide here to install the correct JDK version.
Windows users: Follow the setup guide here to install the correct JDK version.
Linux users: Follow the setup guide here to install the correct JDK version.
Download the latest .jar file from here.
Copy the file to the folder you want to use as the home folder for your ParentConnect. This can be any folder in your documents, or on your desktop for easy access. The folder should ideally be empty to prevent any issues with loading the sample data upon initial launch.
Open a command terminal. You can do this as follows:
How to open a terminal 💻
Windows:
cmd, and press Enter to open the Command Prompt.Mac:
Terminal, and press Enter.Linux (Ubuntu/Debian):
Step-by-step 💻
Step 1: Change directory to your home folder
In the terminal, type:
cd path/to/your/folder
Replace path/to/your/folder with the folder where you saved the .jar file.
Examples:
cd ~/Documents/ParentConnect # Mac/Linux
cd C:\Users\YourName\Documents\ParentConnect # Windows
Step 2: Run the application
Type the following command and press Enter:
java -jar parentconnect.jar
Step 3: What you will see
A GUI window will open within a few seconds.
The app comes with sample data so you can try commands right away.
There is an empty command box at the top to enter your first command!
help and pressing Enter will open the help window. Refer to the Features below for details of each command. Common Tasks 💡
Here are some frequent actions you may want to perform:
Add a new child record: Add a child
Edit a child’s contact info: Edit child
Find a parent’s phone number or search by allergy/tag: Find a child
Enroll children into subjects: Enroll
Set scores for a subject: Set score
Delete records: Delete
Notes about the command format:
Words in UPPER_CASE are parameters to be supplied by the user.
For example, in add c/CHILD_NAME, CHILD_NAME can be replaced with add c/John Doe.
Items in square brackets [ ] are optional.
For example, c/CHILD_NAME [t/TAG] can be used as c/John Doe t/friend or simply c/John Doe.
Items followed by … can be used multiple times (including zero times).
For example, [t/TAG]… can be left empty, or contain t/friend, t/friend t/family, etc.
Parameters can be in any order.
For example, c/CHILD_NAME p/PHONE_NUMBER is equivalent to p/PHONE_NUMBER c/CHILD_NAME.
Commands that don’t take parameters (help, list, exit, clear) will ignore extra text.
For example, help 123 is interpreted as help.
When copying commands from a PDF, make sure spaces at line breaks are preserved to avoid errors.
helpShows a message explaining how to access the help page.
Format: help
addAdds a new child record to ParentConnect. At minimum, the child's name, parent name, parent phone number, email and address need to be provided. (Refer to this section for information regarding the various parameters)
Format: add c/CHILD_NAME b/PARENT_NAME p/PARENT_PHONE_NUMBER e/PARENT_EMAIL a/ADDRESS [r/ALLERGIES]… [t/TAG]…
Tip: Tags and allergies are optional fields! A child can have as many tags or allergies as necessary, or none at all. This information can also be edited later with the edit command
Examples:
add c/Ella Dawson b/Helen Dawson p/91234567 e/hofmann@example.com a/John street, block 123, #01-01
Adds a child named Ella Dawson who has parent Helen Dawson, phone number 91234567, email: hofmann@example.com, and address John street, block 123, #01-01
add c/Justin Jr b/Justin Sr p/88888888 e/TT@example.com a/22 College Avenue West #20-204 136754 Singapore t/ADHD r/dust
Adds a child named Justin Jr, with parent Justin Sr, phone number, email and address as shown above, and the optional tag ADHD with an allergy to dust.
Duplicate children detection
listShows a list of all children in ParentConnect.
Format: list
editEdits an existing child in ParentConnect. This can be used to update contact information, or to take note of special needs and considerations.
Format: edit INDEX [c/CHILD_NAME] [b/PARENT_NAME] [p/PARENT_PHONE_NUMBER] [e/PARENT_EMAIL] [a/ADDRESS] [r/ALLERGIES]… [t/TAG]…
INDEX. The index refers to the index number shown in the displayed child list. The index must be a positive integer 1, 2, 3, …t/ or r/ without
specifying any tags after it.Examples:
edit 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st child's parent to be 91234567 and johndoe@example.com respectively.
edit 2 c/Alison Wang t/
Edits the name of the 2nd child to be Alison Wang and clears all tags
edit 2 c/Alexis Jr t/adhd r/milk
Edits the name of the 2nd child to be Alexis Jr and adds the tags adhd and allergy to milk
findFinds a child record with partial string matching. You can search for a specific child entry using their name or their parent's name. Or you can filter to find all children with a specific tag, or a specific allergy to accomodate their needs.
Format: find [c/CHILD_NAME] [b/PARENT_NAME] [r/ALLERGIES]… [t/TAG]…
hans will match HansHans Bo will match Bo Hansb/hans will only match with parents named Hans and not childrenHan will match Hans, child will match only childOR search).
e.g. c/Hans r/ADHD will return records of all children named Hans and of all children with ADHDc/John Marcus Hans will return records of all children named either John, Marcus or HansExamples:
find c/John returns records of all children with john in their namefind c/Marcus Vertin b/Hoffman r/Dust returns records where the child is named either Marcus or Vertin, where the parent is named Hoffman, and where the child is allergic to dust (as long as any of the 4 conditions are fulfilled)find c/David Li will match with Davidson, David Becker, Elliana and any other name with substrings David or Li in them.deleteDeletes in ParentConnect are irreversible! See this section for information on backups.
Deletes the specified child record(s) from ParentConnect. This can be used when children graduate or otherwise leave.
Format: delete INDEXES…
INDEXES.delete 1 2 3)Examples:
list followed by delete 2 deletes the 2nd child record in ParentConnect.find Betsy followed by delete 1 deletes the 1st child record in the results of the find command.list followed by delete 1 2 3 4 deletes entries 1 - 4 in ParentConnect.enrollEnrolls children into subjects in ParentConnect. Currently, we support 3 fixed subjects of Math, English, and Science
When children are first enrolled into a subject, their scores will always be displayed as N/A. The setscore command can then be used to change their scores.
Format:
enroll INDEXES… s/SUBJECT
INDEXES into the listed subjects.all keyword instead of indexes.all keyword is used, it only includes children in the current list view. If you have executed the find command beforehand, the command only applies to the result returned by findINDEXES must be positive integers 1, 2, 3, …SUBJECT refers to the subject name(s) and can be repeated to enroll a child in multiple subjects.unenrollUnenrolls children from subjects in ParentConnect. The usage is largely similar to enroll.
Format:
unenroll INDEXES... s/SUBJECT
INDEXES from the listed subjects.all keyword instead of indexes.all keyword is used, it only includes children in the current list view. If you have executed the find command beforehand, the command only applies to the result returned by findINDEXES must be positive integers 1, 2, 3, …SUBJECT refers to the subject name(s) and can be repeated to unenroll a child from multiple subjects.Examples:
unenroll 1 s/english
Unenrolls the child at index 1 from the English subject.
unenroll 1 2 3 s/math
Unenrolls children at indexes 1, 2, and 3 from the Math subject.
unenroll all s/math s/science
Unenrolls all listed children from both Math and Science subjects.
Executing find c/Danny followed by unenroll all s/math will only unenroll all found children named Danny into the subject
setscoreSets the score of children for a specific subject in ParentConnect.
Format:
setscore INDEXES... s/SUBJECT g/SCORE
INDEXES for the given SUBJECT.all keyword instead of indexes.all keyword is used, it only includes children in the current list view. If you have executed the find command beforehand, the command only applies to the result returned by findINDEXES must be positive integers 1, 2, 3, …SCORE must be an integer between 0 - 100clearThis command is irreversible! Make sure to take a backup if you are worried about accidental data loss.
Clears all entries from ParentConnect.
Format: clear
exitExits the program.
Format: exit
ParentConnect data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
ParentConnect data are saved automatically as a JSON file [JAR file location]/data/parentconnect.json. Backup save files can be created just by making copies of this save file at regular intervals. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file makes its format invalid, ParentConnect 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 ParentConnect to behave in unexpected ways (e.g., 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.
Below is a summary for the constraints for the different parameters that can be supplied to commands, such as names, phone numbers, emails and subjects
| Data Type | Constraints |
|---|---|
| Names |
|
| Phone number | Should strictly be 8 digits Singaporean phone number |
Follows the format local-part@domainLocal-part: Should only contain alphanumeric characters and these special characters: +_.-. May not start or end with any special charactersSeparator: @ symbolDomain Name: Made up of domain labels separated by periods Domain Requirements: Must end with a domain label at least 2 characters long. Each domain label must start and end with alphanumeric characters. Each domain label must consist of alphanumeric characters, separated only by hyphens, if any | |
| Address | No restrictions, as long as not empty. Some errors may also occur if slashes are used in a way that resembles a prefix used by ParentConnect, eg 26 C/address Road, however slashes are generally rare in legitimate addresses so this should not be a concern. |
| Tag/Allergy | Tag/Allergy information should only contain alphanumeric characters and spaces, and it should not be blank. Max length of 50 characters. |
| Indexes | Must be between 1 and the length of the currently displayed list |
| Subject | Must be one of math, science, english. Note that subjects are case-insensitive |
| Scores | Must be a whole number between 0 - 100 |
Q: Why does the system say "duplicate person" when adding a child with a different phone number/address/email?
A: Students are identified uniquely by the parent and child name combination, not by contact details. This is because siblings may share the same contact details as they are from the same family. While it may be possible for two children and parent pairs to share the same name, we don't foresee this key collision having a high likelihood of occurring in the scope of one kindergarten.
Q: Why is each child attached to only one parent? Can I put both parents?
A: In most schools and kindergartens, one of the parents is usually required to be listed as the 'primary guardian', and our system reflects that. It is far more important to store the contact details of the primary guardian as they would be the first point of contact in case of any emergencies. In future updates we may add on the feature to have multiple parent contacts.
Q: Why does ParentConnect only support 8 digit phone numbers? What about international numbers?
A: ParentConnect is targeted at kindergartens in Singapore and currently only supports 8-digit Singapore phone numbers. This ensures data consistency and simplifies local operations.
Q: Does ParentConnect support enrollment for subjects other than those listed?
A: This is a known issue, and it is one of the features coming soon in release 2.0
Q: Why can't I add a score with decimal points?
A: Scores are stored as integers. It is usually rare for kindergartens to require such finetuned score tracking that they need decimal points. However, this feature may potentially be added in 2.0
Q: I made a mistake by bulk deleting some children. Can I undo?
A: No, unfortunately ParentConnect does not have an undo feature. However, if you have a backup of your data file,
you can restore the deleted data by replacing the current data file with your backup.
Q: Where can I find the data file?
A: The data file is located in the data folder inside your ParentConnect home folder (i.e., the folder where the
jar file is located).
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 ParentConnect home folder.
Q: Can I use ParentConnect on my mobile device?
A: No, ParentConnect is a desktop application and does not support mobile devices.
Q: Can I use ParentConnect without the GUI?
A: No, while ParentConnect is optimized fast typists, it still requires the GUI to operate since we want to make
information visualisation easier.
Q: How do I report bugs or suggest new features?
A: Please visit our GitHub Issues page and make a new issue.
We welcome all kinds of feedback!
preferences.json file created by the application before running the application again.help command (or use the Help menu, or the keyboard shortcut F1) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window.| Action | Format, Examples |
|---|---|
| Add | add c/CHILD_NAME b/PARENT_NAME p/PARENT_PHONE_NUMBER e/PARENT_EMAIL a/ADDRESS [r/ALLERGIES]… [t/TAG]… e.g., add c/Ho Ho b/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 r/sunlight r/grass t/friend t/colleague |
| Clear | clear |
| Delete | delete INDEXESe.g., delete 1 2 3 |
| Edit | edit INDEX [c/CHILD_NAME] [b/PARENT_NAME] [p/PARENT_PHONE_NUMBER] [e/PARENT_EMAIL] [a/ADDRESS] [r/ALLERGIES]… [t/TAG]…e.g., edit 2 b/James Lee e/jameslee@example.com |
| Find | find [c/CHILD_NAME] [b/PARENT_NAME] [r/ALLERGIES] [t/TAG]e.g., find c/John Jake Marcus b/Paul Mary r/Dust Peanut t/ADHD Diabetic |
| List | list |
| Help | help |
| Enroll | enroll INDEXES s/SUBJECT |
| Unenroll | unenroll INDEXES s/SUBJECT |
| SetScore | setscore INDEXES s/SUBJECT g/SCORE |