GymContactsPro is a desktop application designed for gym managers who prefer fast, keyboard-driven workflows to manage and organize member data efficiently.
It combines a clean visual interface with command-based input, allowing users to perform tasks quickly without relying on menus or mouse interactions.
If you value speed, accuracy, and efficiency in your daily operations, GymContactsPro is built for you — download it and get started today!
Ensure you have Java 17 or above installed in your Computer.
Mac users: Ensure you have the precise JDK version prescribed here.
Download the latest .jar file from here.
Copy the file to the folder you want to use as the home folder for your AddressBook.
Open a command terminal, cd into the folder you put the jar file in, and use the java -jar GymContactsPro.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.

Alternatively you could simply double click GymContactsPro.jar file.
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 : Lists all contacts.
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01, 138601 m/2026-11-12 : Adds a contact named John Doe to the Address Book.
delete 1006 : Deletes the person with membership ID 1006 from the list.
clear : Deletes all contacts.
exit : Exits the app.
Refer to the Features below for details of each command.
These are some notes about the command formats.
Notes here apply to all features introduced below (where applicable), and will not be repeated
Words in UPPER_CASE are the parameters to be supplied by the user.
e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.
Items in square brackets are optional.
e.g n/NAME [p/PHONE] can be used as n/John Doe p/92214584 or as n/John Doe.
Parameters can be in any order.
e.g. if the command specifies n/NAME p/PHONE, p/PHONE 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.
addAdds a new gym member to the list of registered gym members.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS m/EXPIRY_DATE
Note:
Tip:
add command can be provided in any orderExample input:
add n/Alfred Goh p/88574393 a/Blk 886 Waterloo Street, #03-514, 736886 e/gohfred@gmail.com m/2028-01-01
Example output:
Alfred Goh with his personal details to the list of registered gym members, together with a New person added: ... success message.
listDisplays the list of all registered gym members.
Format: list
Example input:
Example output:
deleteDeletes the specified member(s) from the list of registered gym members.
Format: delete id/MEMBERSHIP_ID [MORE_MEMBERSHIP_IDS]
Note:
MEMBERSHIP_ID.Tip:
Example input:
Example output:
MEMBERSHIP_ID of 1000 from the list of registered gym members, together with a Deleted Person: ... success message.
editEdits an existing member among the registered gym members.
Format: edit MEMBERSHIP_ID [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [m/EXPIRY_DATE]
Note:
MEMBERSHIP_ID.Tip:
Example input:
Example output:
PHONE and EMAIL of member with MEMBERSHIP_ID of 1000, together with a Edited person: ... success message.
findFinds member(s) matching any of the given keywords.
Format: find PREFIX/KEYWORD [MORE_KEYWORDS]
Note:
PREFIX is allowed in the command
id/ finds by Membership ID.n/ finds by Name.p/ finds by Phone number.e/ finds by Email.a/ finds by Address (Postal Code).m/ finds by Membership Expiry Date.KEYWORD must be provided.
Ber will not match Bernicebernice will match BERNICETip:
Bernice will match and find Bernice YuExample input:
Example output:
sortSorts the list of registered gym members by the specified order.
Format: sort PREFIX/ORDER OR sort none
Note:
PREFIX is allowed in the command
id/ sorts by Membership ID.n/ sorts by Name.p/ sorts by Phone number.e/ sorts by Email.a/ sorts by Address (Postal Code).m/ sorts by Membership Expiry Date.ORDER can be providedsort none is used to disable sorting).
asc or desc to sort members in ascending or descending order respectively.Tip:
asc or desc, will be "turned on" and
applied on displayed lists across all commands unless "turned off" by sort none.Example input:
Example output:
clearDelete all registered gym members after confirmation.
Format: clear
Note:
Tip:
Yes button.Y key.No button.N key.Example input:
Example output:

All data has been deleted successfully success message.
helpShows a help message.
Format: help
Note:
Tip:
Example input:
Example output:
exitExits the app.
Format: exit
Tip:
Exit button in the File menu.X button in the top right corner.Example input:
Example output:
Data of all members is saved in the computer's storage automatically after any command that changes member data. There is no need to save manually.
Note:
[JAR file location]/data/addressbook.jsonTip:
addressbook.json file to a secure location.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 AddressBook home folder.
Q: What happens if the application freezes or is forcibly closed?
A: If the application freezes (but is not forcefully closed), all your previous changes are safely saved. However, if the application is forcibly closed while saving data (e.g., force quit, system crash, power loss), the data file may become corrupted. In such cases, the application will start with empty member data on the next run. To prevent data loss, it is recommended to regularly back up your addressbook.json file.
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 n/NAME p/PHONE e/EMAIL a/ADDRESS m/EXPIRY_DATEe.g., add n/James Ho p/92375927 e/jamesho@example.com a/Blk 123, Clementi Rd, 665123 m/2026-12-31 |
| List | list |
| Delete | delete id/MEMBERSHIP_IDe.g., delete id/1021 |
| Edit | edit id/MEMBERSHIP_ID [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [m/EXPIRY_DATE]e.g., edit 1016 n/James Lee e/jameslee@example.com |
| Find | find PREFIX/KEYWORD [MORE_KEYWORDS]e.g., find n/James Max |
| Sort | sort PREFIX/ORDER e.g., sort n/descor e.g., sort none |
| Clear | clear |
| Help | help |
| Exit | exit |