Skip to content

Latest commit

 

History

History
486 lines (347 loc) · 17.3 KB

UserGuide.adoc

File metadata and controls

486 lines (347 loc) · 17.3 KB

ResuMaker - User Guide

1. Introduction

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.

2. Quick Start

To get started with using ResuMaker:

  1. Ensure you have Java version 9 or later installed in your Computer.

  2. Download the latest resumaker.jar here.

  3. Copy the file to the folder you want to use as the home folder for ResuMaker.

  4. Double-click the file to start the app. The graphical user interface should appear in a few seconds.

Ui

Fig1. A typical user’s screen, immediately after application startup.

  1. Type your command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  2. 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 under work, 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

  3. Refer to Section 3, “Features” for the full details of all commands.

3. Features

Here are the features available in ResuMaker:

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in addEntry ~CATEGORY, [t/TITLE], [s/SUBHEADER], [d/DURATION], [#TAGNAME]…​, CATEGORY, TITLE , SUBHEADER, DURATION and TAGNAME are parameters which can be used as addEntry ~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   (i.e. 0 times), #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.

3.1. Viewing help : help

Displays a list of all commands available.
Format: help

3.2. Adding an entry: addEntry

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

3.3. Adding a bullet point to an entry: addBullet

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 executing tag 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.

3.4. Viewing a particular entry : selectEntry

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 executing tag ls

  • Detailed description will be displayed as an indexed list of all bullet description in that entry

Examples:

  • selectEntry 2

  • selectEntry 0

3.5. Editing an entry : editEntryInfo

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.

3.6. Deleting an entry: deleteEntry

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.

3.7. Editing a bullet point: editBullet [Coming in v2.0]

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".

3.8. Deleting a bullet: deleteBullet [Coming in v2.0]

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.

3.9. Creating a Contextual Event (Project / Work Experience / Skill): nus

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 for CS2103T - A rigorous software engineering module at NUS.

  • nus ta ma1101r OR nus teaching asst ma1101r
    Creates a Work Experience Entry for Teaching 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.

3.10. Managing Tags

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.

3.10.1. Listing entries under specific tags: tag list or tag ls

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

3.10.2. Add particular tag to entry: tag add

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.

3.10.3. Remove particular tag from entry: tag remove or tag rm

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.

3.10.4. Retagging a particular entry: tag retag or tag rt

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.

3.11. Listing entered commands : history

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.

3.12. Using templates to specify resume formats

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.

3.12.1. Writing template files

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 and recent

  • tagged with python and recent and significant

  • 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)

3.12.2. Loading template : loadtemplate

Loads a template from a text file into the application.
Format: loadtemplate FILEPATH

Examples:

  • loadtemplate google.txt
    Loads the template specified in google.txt

  • loadtemplate templates\facebook.txt
    Loads the template specified in facebook.txt in the templates 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.

3.13. Generating Resume : make

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:

  • Writage, which allows you to edit and convert markdown files in Microsoft Word.

  • Pandoc, which converts markdown files to a variety of formats like PDF.

  • Dillinger, which lets you edit markdown files and convert them to HTML.

3.14. Clearing all entries : clear [Coming in v2.0]

Clears all entries from ResuMaker.
Format: clear

3.15. Exiting the program : exit

Exits the program.
Format: exit

3.16. Saving the data

ResuMaker data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.

3.17. Encrypting data files [coming in v2.0]

{explain how the user can enable/disable data encryption}

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 ResuMaker.

5. Command Summary

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