By: CS2103-W-17-1
Since: August 2018
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Viewing help :
help
- 3.2. Adding an entry:
addEntry
- 3.3. Adding a bullet point to an entry:
addBullet
- 3.4. Viewing a particular entry :
selectEntry
- 3.5. Editing an entry :
editEntryInfo
- 3.6. Deleting an entry:
deleteEntry
- 3.7. Editing a bullet point:
editBullet
[Coming in v2.0] - 3.8. Deleting a bullet:
deleteBullet
[Coming in v2.0] - 3.9. Creating a Contextual Event (Project / Work Experience / Skill):
nus
- 3.10. Managing Tags
- 3.11. Listing entered commands :
history
- 3.12. Using templates to specify resume formats
- 3.13. Generating Resume :
make
- 3.14. Clearing all entries :
clear
[Coming in v2.0] - 3.15. Exiting the program :
exit
- 3.16. Saving the data
- 3.17. Encrypting data files
[coming in v2.0]
- 3.1. Viewing help :
- 4. FAQ
- 5. Command Summary
Do you find the need to maintain multiple versions of your resume?
Perhaps you find yourself reorganising your resumes before making a job application?
If so - welcome to ResuMaker: a fast and flexible resume generator aimed at computer science students.
Unlike most resume generation webapps, ResuMaker tailors your resume to fit the specific requirements of a job.
It can also pick up contextual awareness about your world - with out-of-the-box support for the National University of Singapore’s School of Computing.
Interested? Jump to the Section 2, “Quick Start” to get started.
With ResuMaker, let your skills document themselves.
To get started with using ResuMaker:
-
Ensure you have Java version
9
or later installed in your Computer. -
Download the latest
resumaker.jar
here. -
Copy the file to the folder you want to use as the home folder for ResuMaker.
-
Double-click the file to start the app. The graphical user interface should appear in a few seconds.
Fig1. A typical user’s screen, immediately after application startup.
-
Type your command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Try out the following examples:
-
addEntry `~work
#java t/The Source Enterprise s/Data Science Intern d/ May 2010 - Dec 2010
Adds a new entry, classified underwork
, with the given title, subheader and duration. -
addEntry
~project
#java #entrepreneurship t/InnovFest Unbound Hackathon s/Best Fintech Hack d/ Jan 2011 - Feb 2011
-
tag ls
#java
-
exit
: exits the app
-
-
Refer to Section 3, “Features” for the full details of all commands.
Here are the features available in ResuMaker:
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inaddEntry ~CATEGORY, [t/TITLE], [s/SUBHEADER], [d/DURATION], [#TAGNAME]…
,CATEGORY
,TITLE
,SUBHEADER
,DURATION
andTAGNAME
are parameters which can be used asaddEntry ~work #INTERNSHIP t/The Source Enterprise s/Software Engineering Intern d/Jan 2012 - June 2012
. -
Items in square brackets are optional e.g
~CATEGORY [t/TITLE] [s/SUBHEADER] [d/DURATION] [#TAG]…
can be used as~work t/The Source Enterprise s/Java programmer d/ Jan 2012 - Dec 2014 #JAVA
or~awards
. -
Items with
…
after them can be used multiple times including zero times e.g.[#TAG]…
can be used as#JAVA
,#JAVA #Software Engineering
,#JAVA #Software Engineering #AI
etc. -
Parameters can be in any order e.g. if the command specifies
[t/TITLE] [s/SUBHEADER]
,[s/SUBHEADER] [t/TITLE]
is also acceptable.
Adds an entry to ResuMaker.
Format: addEntry ~CATEGORY , [[t/TITLE], [s/SUBHEADER], [d/DURATION]], [#TAGNAME]…
💡
|
An entry need not have associated title, subheader and duration.
An entry can have any number of tags (including 0).
An entry contains description, which can be added using addBullet as a separate command.
All parameter input from the user must be alphanumeric and can be separated by the following characters: space, - , or () .
|
Examples:
-
addEntry ~work #java t/The Source Enterprise s/Java Programmer intern d/ May 2010 - Aug 2010
-
addEntry ~work t/Carousell #work #web #mobile #backend s/intern d/Nov 2017 - Jan 2018
-
addEntry ~education #uni t/National University of Singapore s/Bachelor of Computing in Computer Science(Honours) d/2017 - 2021
-
addEntry ~awards #java
Adds a bullet point to the end of the description of an entry at index ENTRYINDEX in ResuMaker.
The user needs to execute tag ls
command to display a filtered list of entries and select a particular entry
to add a bullet description to.
Format: addBullet ENTRYINDEX CONTENTTOADD
-
ENTRYINDEX
refers to the index of the displayed entry list from executingtag ls
-
CONTENTTOADD
refers to a line of description that the user wants to add to an entry
Examples:
-
tag ls
addBullet 1 attained Best Financial Hack Award
Adds the bullet point "attained Best Financial Hack Award" to the description of the 1st entry. -
tag ls ~education
addBullet 1 maintained a CAP of 4.95 on average throughout the four years
Adds the bullet point "maintained a CAP of 4.95 on average throughout the four years" to the description of the 1st entry under the education category.
Displays detailed description of the entry in ResuMaker at the specified index on the panel display.
Format: selectEntry INDEX
-
INDEX
refers to the index of the displayed entry list from executingtag ls
-
Detailed description will be displayed as an indexed list of all bullet description in that entry
Examples:
-
selectEntry 2
-
selectEntry 0
Edits entry info fields of an existing entry in ResuMaker, i.e title, sub-header and duration.
Format: editEntryInfo INDEX [t/TITLE] [s/SUBHEADER] [d/DURATION]
-
Edits the entry at the specified
INDEX
. The index refers to the index number shown in the displayed entry list. The index must be a positive integer 1, 2, 3, … -
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
-
When editing tags, the existing tags of the entry will be removed i.e adding of tags is not cumulative.
-
You can remove all the entry’s tags by typing
#
without specifying any tags after it. -
This command does not allow editing description of the entry; to do so, use the
editBullet
command.
Example:
-
editEntryInfo 1 t/R Company s/Data Science Intern
Edits the entry at index 1 by replacing its title as R Company and subtitle as Data Science Intern.
Deletes the entry at the specified index.
Format: deleteEntry INDEX
-
INDEX
refers to the index number shown in the displayed entry list. -
INDEX
must be a positive integer 1, 2, 3, …
Examples:
-
tag ls
deleteEntry 2
Deletes the 2nd entry in ResuMaker. -
tag ls ~education
deleteEntry 1
Deletes the 1st entry displayed under education category.
Edits a bullet description of an entry in ResuMaker. INDEX refers to the index of a particular bullet description.
Format: editBullet ENTRYINDEX BULLETINDEX EDITEDCONTENT
-
Before executing this command, the user needs to execute
selectEntry
-
ENTRYINDEX
refers to the index number shown in the displayed entry list -
BULLETINDEX
refers to the index number shown of a particular bulleted description the displayed Entry -
EDITEDCONTENT
refers to new content that the user wants to replace the old one with -
Both parameters must be a positive integer 1, 2, 3, …
Example:
-
selectEntry
editBullet 1 1 implement scalable application for data visualization using java
Edits the 1st entry by replacing its 1st bullet description with "implement scalable application for data visualization using java".
Deletes the bullet of a particular entry at the specified index.
Format: deleteBullet ENTRYINDEX BULLETINDEX
-
Before executing this command, the user needs to execute
selectEntry
-
ENTRYINDEX
refers to the index number shown in the displayed entry list -
BULLETINDEX
refers to the index number shown of a particular bulleted description the displayed Entry -
Both parameters must be a positive integer 1, 2, 3, …
Examples:
-
tag ls
selectEntry
deleteBullet 2 1
Deletes the 1st bullet of the 2nd entry in ResuMaker. -
tag ls ~education
selectEntry
deleteBullet 1 1
Deletes the 1st bullet of the 1st entry displayed under education category of ResuMaker.
There are times when we just don’t want to manually enter every piece of required information into a computer programme. After all, shouldn’t some things just be common knowledge?
With ResuMaker, you can auto-populate resume Entries if ResuMaker already knows about them! We call such Entries Contextual Events.
Format: nus EVENT_NAME
💡
|
The EVENT_NAME can be a combination of an Event’s full name (Mathematics and Computer Science Double Degree Programme), acronyms (math - cs ddp), or even
partially matching phrases (math - comp sci double deg prog)
|
Examples:
-
nus cs2103t
Creates a Project Entry forCS2103T
- A rigorous software engineering module at NUS. -
nus ta ma1101r
ORnus teaching asst ma1101r
Creates a Work Experience Entry forTeaching Assistant MA1101R
-
nus `computing cl exco
Creates a Nonacademics Entry for an Executive Commitee position in the Computing Club.
ℹ️
|
Slang and acronyms must be correctly configured in application data. In future releases, ResuMaker will ship with NUS / SOC specific slang and acronyms. |
These are functions to help you manage your tags; namely to view and edit the relevant tags and entries.
ℹ️
|
All tags and categories are case-sensitive, only exact match in the casing will result in a successful match. |
List all entries under specific tags (space separated).
By default, if a tag is not given, all entries will be displayed.
All entries displayed will be accompanied with their relevant entry id, to be used when editing.
Examples:
-
tag ls
Displays all entries in ResuMaker. -
tag ls ~work #java
Lists all the~work
entries tagged with#java
.
ℹ️
|
Each entry can only be tagged with one category, therefore calls like tag ls ~work ~project will only pick one of the categories to display
|
Add tags (space separated) to particular entry (identified by index).
If a category tag is given, it will replace the current category of the specific entry.
Duplicate tags will be ignored.
Examples:
-
tag add 10 ~work #java
Adds tag#java
and category~work
to entry 10.
Remove tags (space separated) from a particular entry (identified by index).
By default, if no tags given, all tags will be removed from the entry.
Examples:
-
tag rm 1 ~work #java
Removes category~work
and tag#java
from entry 1. -
tag rm 10
Removes all tags and categories from entry 10.
Remove all current tags and replace them with given tags (space separated).
Each entry must be tied to a specific category, hence, any retagging must include a valid category.
Examples: *
tag rt 1 ~work #java
Removes all tags and categories from entry 1, and then adds category ~work
and tag #java
to entry 1.
Lists all the commands that you have entered in reverse chronological order.
Format: history
ℹ️
|
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
Templates are written by the user in a specific format and stored as text files.
They should be saved in the same directory as the resumaker.jar
file, and are parsed and loaded into the application using the loadtemplate
command.
Templates are text files consisting solely of lines of the following format:
[Category Heading]:~[Category Tag]:[Tag Groups]
Each line specifies a category, starting with the title to be displayed, its corresponding category tag, and tags used to filter entries.
Each Tag Group
contains one Tag
, or several separated by ampersands (&). Tag groups are separated by spaces.
For example, the following formats would all be valid as [Tag Groups]
:
* [Tag] [Tag] [Tag] * [Tag]&[Tag] * [Tag] [Tag]&[Tag]&[Tag] * (no tags)
An entry is included if it is tagged with that category, and fulfills any of the groups of tags. It must contain all tags in a group to fulfil the group.
For example, the following category,
Work Experience:~work:java&recent python&recent&significant datascience
means to include any entry categorized as work
, as long as it fulfills any of the following:
-
tagged with
java
andrecent
-
tagged with
python
andrecent
andsignificant
-
tagged with
datascience
As an example, the following template file:
Work Experience:~work: Education:~education:uni training&cs Projects:~projects:software&java&recent
Will result in the resume being generated as follows:
Work Experience
(all work entries regardless of tags)
Education
(education entries tagged with uni
, or both training
and cs
)
Projects
(project entries tagged with software
, java
and recent
)
Loads a template from a text file into the application.
Format: loadtemplate FILEPATH
Examples:
-
loadtemplate google.txt
Loads the template specified ingoogle.txt
-
loadtemplate templates\facebook.txt
Loads the template specified infacebook.txt
in thetemplates
subfolder
💡
|
If the format of the text file looks right but the application says that it is invalid, try checking for and removing any extra newlines or spaces. |
Generates a Resume file with the given name, using the template currently loaded in the application.
ℹ️
|
By default, the file will be saved in the same folder as the application. You can also specify a more complicated filepath if you want the file to be saved to a specific folder. |
Examples:
-
make sep.md
Generates a file named sep.md in the same folder as the application, containing a Resume which lists entries as designated by the currently loaded template.
ResuMaker generates your resume files in the markdown format, which is commonly used around the web. Since you will likely need your resume in a different format such as a Word document or a PDF file, here are some of the many tools out there that can help you convert your resume:
Clears all entries from ResuMaker.
Format: clear
ResuMaker data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
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 ResuMaker.
For reference, here is a brief summary of the commands available and their syntax:
-
Add Bullet
addBullet INDEX CONTENTTOADD
e.g.addBullet 0 attain Best Financial Hack Award
-
Add Entry
addEntry ~CATEGORY , [t/TITLE], [s/SUBHEADER], [d/DURATION] [#TAGNAME]…
e.g.addEntry ~work #java t/The Source Enterprise s/Java Programmer intern d/ May 2010 - Aug 2010
-
Add Nus Entry :
nus EVENT_NAME
e.g.nus hack n roll
-
Clear :
clear
-
Delete Bullet :
deleteBullet ENTRYINDEX BULLETINDEX
e.g.deleteBullet 2 2
-
Delete Entry :
deleteEntry INDEX
e.g.deleteEntry 2
-
Edit Bullet :
editBullet ENTRYINDEX BULLETINDEX EDITTEDCONTENT
e.g.editBullet 0 0 implement scalable application for data visualization using java
-
Edit Entry :
editEntry INDEX [t/TITLE ] [s/SUBHEADER] [d/DURATION] [#TAG]…
e.g.editEntry 1 t/R company #JAVA
-
Expand Entry :
selectEntry INDEX
e.g.selectEntry 2
-
Generate Resume :
make FILENAME
-
Help :
help
-
History :
history
-
Load Template:
loadtemplate FILEPATH
e.g.loadtemplate google.txt
-
Select :
select INDEX
e.g.select 2
-
Tag List:
tag ls TAG [MORE_TAGS]
e.g.tag ls ~work #java
-
Tag Remove:
tag rm INDEX TAG [MORE_TAGS]
e.g.tag rm 10 ~work #python
-
Tag Retag:
tag tg INDEX TAG [MORE_TAGS]
e.g.tag rt 10 ~project #web