HitList is a desktop app for managing contacts, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, HitList can get your contact management tasks done faster than traditional GUI apps.
HitList is targeted towards recruiters and headhunters who are fast typist and need to manage a large number of contacts and companies.
helpaddeditdeletelistfindgrpaddgrpdelgrplistgrpassigngrpunassigncmpaddcmpdelcmplistcmpfindroleaddroledelclearexit[coming in v2.0]17 or above installed in your Computer..jar file from here.cd into the folder you put the jar file in, and use the java -jar hitlist.jar command to run the application.
help and pressing Enter will open the help window.add /n John Doe /p 98765432 : Adds a contact named John Doe to the HitList.list : Lists all contacts.delete 3 : Deletes the 3rd contact shown in the current list.clear : Deletes all contacts.exit : Exits the app.Notes about the command format:
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 Doeedit INDEX [/n NAME] [/p PHONE_NUMBER] can be used as edit 3 /n John Doe or as edit 3 /p 98765432/n NAME /p PHONE_NUMBER, /p PHONE_NUMBER /n NAME is also acceptablehelp, list, exit, and clear, will be ignored.
e.g. if the command specifies help 123, it will be interpreted as helphelpShows a message explaining how to access the help page.
Format: help

addAdds a contact to the HitList.
Format: add /n NAME /p PHONE_NUMBER [/e EMAIL] [/a ADDRESS]
NAME and PHONE_NUMBER parameters are mandatory.NAME must be unique and not the same as any existing contact in HitList.PHONE_NUMBER must be unique and not the same as any existing contact in HitList.Limitations:
NAME can only contain alphabetic characters, dashes, apostrophes, and spaces (No support for chinese characters and names with '/').PHONE_NUMBER must only contain digits, and must not be blank.EMAIL must be in the format local-part@domain, where local-part and domain are non-empty strings that do not contain spaces or /.EMAIL does not implement uniqueness check, so multiple contacts can have the same email.ADDRESS must not contain / and must not be blank.Examples:
add /n John Doe /p 98765432

add /n Betsy Crowe /p 87654321 /e betsy.crowe@gmail.com /a 321, Clementi Rd, 123465

editEdits an existing contact in the HitList.
Format: edit INDEX [/n NAME] [/p PHONE_NUMBER] [/e EMAIL] [/a ADDRESS]
INDEX.1, 2, 3, …Examples:
edit 1 /p 91234567 edits the phone number of the first contact to 91234567

edit 2 /n Betsy Crower edits the name of the second contact to Betsy Crower

deleteDeletes the specified contact from HitList.
CAUTION: Irreversible Action
Format: delete INDEX or delete /n NAME or del INDEX or del /n NAME
INDEX or the contact with the specified NAME from HitList.1, 2, 3, …Examples:
list followed by delete 2 deletes the second contact in HitList

find irfan followed by delete 1 deletes the first contact in the results of the find command

list followed by delete /n David Li deletes the contact named David Li from HitList

listShows a list of all contacts in the HitList.
Format: list

findFinds contacts whose names match the given substring.
Format: find KEYWORD...
HANS matches HansHa matches Hans
e.g. an matches HansExamples:
find John returns john and John Doe
find alex krishnan returns Alex Yeoh, Roy Balakrishnan
grpaddAdds a contact group to the HitList. Optionally, existing contacts can be added to the group at the time of group creation.
Format: grpadd /g GROUP_NAME [/n NAME]...
Examples:
grplist followed by grpadd /g Experienced

grplist followed by grpadd /g Admins /n Betsy Crowe

grpdelDeletes the specified contact group from HitList.
CAUTION: Irreversible Action
INFO: Good to know
Format: grpdel /g GROUP_NAME
Examples:
grplist followed by grpdel /g Admins

grplistList all contact groups in HitList. Optionally, if a group name is specified, shows a list of contact members in that group.
Format: grplist [/g GROUP_NAME]
Examples:
grplist
grplist /g Students
grpassignAdds an existing contact to an existing contact group.
Format: grpassign /n NAME /g GROUP_NAME
Examples:
grplist /g experienced followed by grpassign /n Alex Yeoh /g Experienced

grpunassignRemoves an existing contact from an existing contact group.
Format: grpunassign /n NAME /g GROUP_NAME
Examples:
grplist /g experienced followed by grpunassign /n Alex Yeoh /g Experienced

cmpaddAdds a company to the HitList.
Format: cmpadd /c COMPANY_NAME /d COMPANY_DESCRIPTION
/ or invisible characters./ or invisible characters.Limitations:
Examples:
cmplist followed by cmpadd /c Bata /d Shoe company

cmpdelDeletes the specified company from HitList.
CAUTION: Cascading Deletion
Format: cmpdel /c COMPANY_NAME
google matches Google/GoOgLe/GOOGLE).cmpdel /c google will match a company named exactly Google, but will not match Google Inc. or google.com since those are different company names.Google) after the operation.Example:
cmplist followed by cmpdel /c Bata

cmplistShows a list of all companies and the description in the HitList. Optionally, if a company name is specified, shows the roles of the company.
Format: cmplist [/c COMPANY_NAME]
Example:
cmplist
cmplist /c Google Inc.
cmpfindFinds companies whose names match any given substring.
Format: cmpfind KEYWORD...
google matches Googlefli matches NetflixExamples:
cmpfind inc
cmpfind google flix
roleaddAdds a role to a specified existing company in the HitList.
Format: roleadd /r ROLE_NAME /d ROLE_DESCRIPTION /c COMPANY_NAME
/ or have invisible characters./ or have invisible characters.google matches Google/GoOgLe/GOOGLE).roleadd /c google will match a company named exactly Google, but will not match Google Inc. or google.com since those are different company names.Google) after the operation.Limitations:
Examples:
cmplist /c Google Inc. followed by roleadd /r Quality Assurance Engineer /d Ensures software products meet quality standards by developing test plans /c Google Inc.

roledelDeletes a role from a specified existing company in the HitList.
CAUTION: Irreversible Action
Format: roledel /r ROLE_NAME /c COMPANY_NAME or roledel INDEX /c COMPANY_NAME
google matches Google/GoOgLe/GOOGLE).roledel /c google will match a company named exactly Google, but will not match Google Inc. or google.com since those are different company names.Google) after the operation.Examples:
cmplist /c Google Inc. followed by roledel /r Quality Assurance Engineer /c Google Inc.

cmplist /c Meta Platforms, Inc. followed by roledel 1 /c Meta Platforms, Inc.

clearClears all entries from the HitList.
CAUTION: Complete Data Wipe
Format: clear
exitExits the program.
Format: exit
HitList data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
HitList data are saved automatically as a JSON file [JAR file location]/data/hitlist.json.
Advanced users are welcome to update data directly by editing that data file.
CAUTION: Manual Modification
Furthermore, certain edits can cause HitList 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.
[coming in v2.0]Details coming soon ...
CLI (Command Line Interface): A text based interface where you interact with the application by typing commands.
GUI (Graphical User Interface): A visual interface allowing users to interact with the software through graphical icons and visual indicators.
JAR (Java ARchive): The file format used to distribute the HitList application.
JDK (Java Development Kit): The software development environment required to run the Java application.
JSON (JavaScript Object Notation): The lightweight data format used by HitList to save your contacts and preferences automatically.
Parameter: Specific data provided alongside a command to tell the application exactly what to do (for example, supplying a name or phone number).
Index: The positive integer corresponding to an item in the currently displayed list, used to target specific records for editing or deletion.
Substring Matching: A search behavior where typing a sequence of letters matches any word that contains those letters anywhere inside it (beginning, middle, or end).
Who is the intended user for HitList?
How do I save my progress?
Can I undo a deletion?
How do I transfer my data to another computer?
Can I edit the data file directly?
| Action | Format | Examples |
|---|---|---|
| Getting help | help | help |
| Add contact | add /n NAME /p PHONE_NUMBER [/e EMAIL] [/a ADDRESS] | add /n Betsy Crowe /p 87654321 /e betsy.crowe@gmail.com /a 321, Clementi Rd, 123465 |
| Delete contact | del INDEXor del /n NAMEor delete INDEXor delete /n NAME | del 3or del /n David Lior delete 3or delete /n David Li |
| Edit contact | edit INDEX [/n NAME] [/p PHONE_NUMBER] [/e EMAIL] [/a ADDRESS] | edit 2 /n James Lee /e jameslee@example.com |
| List contacts | list | list |
| Find contact(s) | find KEYWORD... | find John |
| Add contact group | grpadd /g GROUP_NAME | grpadd /g Students |
| Delete contact group | grpdel /g GROUP_NAME | grpdel /g Students |
| List contact groups | grplist | grplist |
| List contacts in group | grplist /g GROUP_NAME | grplist /g Students |
| Assign contact to group | grpassign /n NAME /g GROUP_NAME | grpassign /n Alex Yeoh /g Students |
| Unassign contact from group | grpunassign /n NAME /g GROUP_NAME | grpunassign /n Alex Yeoh /g Students |
| Add company | cmpadd /c COMPANY_NAME /d COMPANY_DESCRIPTION | cmpadd /c Google /d Tech giant |
| Delete company | cmpdel /c COMPANY_NAME | cmpdel /c Google |
| List companies | cmplist | cmplist |
| Find company | cmpfind KEYWORD... | cmpfind inc |
| Add role to company | roleadd /r ROLE_NAME /d ROLE_DESCRIPTION /c COMPANY_NAME | roleadd /r Software Tester /d Tests provided software /c Google Inc. |
| Delete role from company | roledel /r ROLE_NAME /c COMPANY_NAMEor roledel INDEX /c COMPANY_NAME | roledel /r Software Engineer /c Google Inc.or roledel 1 /c Google Inc. |
| Clear | clear | clear |
| Exit | exit | exit |