User Guide
Welcome to the Paidlancers User Guide! We're thrilled to have you here! At Paidlancers, we know that freelancing can be both rewarding and challenging. As freelancers ourselves, we understand the unique obstacles and opportunities that come with freelancing. That's why we created Paidlancers – a desktop app designed to help you streamline your freelancing event management tasks.
Introducing Paidlancers
Paidlancers is a desktop app for keeping track of your freelancing events, optimised for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Paidlancers can get your freelancing event management tasks done faster than traditional GUI apps.
This user guide will help you get up to speed in no time!
Table of Contents
Using the examples in this Guide
The examples given in this guide are formatted with the following conventions:
commandword PARAMETERS
Command Word
- Command word is the first word in any command.
- It is written in lowercase.
- These include examples such as
linkcontact
oredit
.
Parameters
- Parameters are the words that follow the command word.
- Parameters are written in UPPERCASE.
- These include examples such as
INDEX
orPHONE
. - Parameters are meant to be replaced by the user with the relevant information.
- All parameters are required unless wrapped with
[square brackets]
.
Example
- Examples are shown in the format
commandword parameters
. - This is followed by the expected outcome of the command.
- These include examples such as
newcontact n/John Doe p/98765432
. - These are meant to be used as a reference for the user to see how the command should be formatted.
- The expected action of this command is written behind.
User Interface
At Paidlancers, we understand that time is money, and every second matters for freelancers. That's why we've designed our app with a user interface (UI) that optimizes productivity, streamlines workflows, and ensures freelancers can get the most out of every moment.
The UI is split into 4 main parts
- Eventbook
- This is where the events that you specified are displayed.
- Contactlist
- This is where the contacts you have stored are displayed.
- Message Box
- This is where the messages regarding the status of your commands are displayed.
- Command Box
- This is where you can enter your commands. Press
Enter
to execute the command.
- This is where you can enter your commands. Press
Quick start
-
Ensure you have Java
11
or above installed in your Computer.- If you think that you have Java installed. you can input command
java -version
into the command terminal to display current version of java installed.- If the command is not recognized, you can install Java
11
from this link here. - Any version that is under the Java version
11
will work. (E.G.11.0.1
,11.1.5
).
- If the command is not recognized, you can install Java
- Mac Users are encouraged to use the Azul build of OpenJDK11 version found here.
- Choose the
JDK FX
version and not any other version.
- If you think that you have Java installed. you can input command
-
Download the latest
Paidlancers.jar
from here. -
Copy the file to the folder you want to use as the home folder for Paidlancers.
-
Open a command terminal,
cd
into the folder you put the jar file in, and use thejava -jar Paidlancers.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.
- A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
-
Type the command in the command box and press Enter to execute it. Some example commands you can try:
-
list
: Lists all events. -
newcontact n/John Doe p/98765432
: Adds a contact namedJohn Doe
to the contact list. -
delete 3
: Deletes the 3rd event shown in the current list.
-
-
Refer to the Features below for details of each command.
-
When you are ready to start, you can use the
clear
command to clear all the sample data. -
Happy
freePaidlancing!
Features
Add a Contact: newcontact
Adds a new contact.
Format: newcontact n/NAME p/NUMBER
- Creates a new contact with specified
NAME
andNUMBER
Note:
-
NAME
should only contain alphanumeric characters and spaces. -
NUMBER
should only contain numbers between 8 and 15 digits long.
Example:
-
newcontact n/Deborah Tan p/91234567
- This command will create a new contact named
Deborah Tan
with phone number91234567
. - Example expected output:
New contact added: Deborah Tan; Phone: 91234567
- This command will create a new contact named
-
newcontact n/Tan Jun Wei p/82828234
- This command will create a new contact named
Tan Jun Wei
with phone number82828234
. - Example expected output:
New contact added: Tan Jun Wei; Phone: 82828234
- This command will create a new contact named
Before adding Deborah Tan into the contact list
After adding Deborah Tan into the contact list
Clear all Events and Contacts: clear
Clears all events in Paidlancers.
Format: clear
![:exclamation: :exclamation:](https://github.githubassets.com/images/icons/emoji/unicode/2757.png)
Create new Event: newevent
Adds a new event.
Format: newevent n/NAME r/RATE a/ADDRESS ds/START_TIME de/END_TIME [t/TAG]…
- Creates a new event with specified
NAME
,RATE
,ADDRESS
,START_TIME
,END_TIME
and optionallyTAGS
.
Note:
-
NAME
should only contain alphanumeric characters and spaces. -
RATE
must be a positive number -
RATE
must be below 1,000,000. -
ADDRESS
can be in any form, "John's House". - Both
START_TIME
andEND_TIME
must have the formatdd-MM-yyyy HH:mm
.
Example:
-
newevent n/DJ at wedding r/100 a/311, Clementi Ave 2, #02-25 ds/11-03-2023 11:00 de/11-03-2023 17:00 t/friends t/dj
- This command will create a new event named
DJ at wedding
with rate100
at address311, Clementi Ave 2, #02-25
from11-03-2023 11:00
to11-03-2023 17:00
with tagsfriends
anddj
as shown below:
New event added: DJ at wedding; Rate: 100.00; Address: 311, Clementi Ave 2, #02-25; Timing: 11-03-2023 11:00 to 11-03-2023 17:00; Mark: [ ]; Tags: [dj][friends]
- This command will create a new event named
Delete an Event: delete
Deletes the specified event.
Format: delete INDEX
- Deletes the event at the specified
INDEX
Note:
- The
INDEX
refers to the index number shown in the displayed event list. - The
INDEX
must be a positive integer 1, 2, 3, … - The
INDEX
must be below 1,000,000.
Example:
-
delete 2
- This command will delete the 2nd event in the event list.
- Example expected output:
Deleted Event: DJ at wedding; Rate: 100.00; Address: 311, Clementi Ave 2, #02-25; Timing: 11-03-2023 11:00 to 11-03-2023 17:00; Mark: [ ]; Tags: [dj][friends]
Before deleting 2nd event
After deleting 2nd event
Edit an Event: edit
Edits the specified event from the event book.
Format: edit INDEX [n/NAME] [r/RATE] [a/ADDRESS] [ds/TIMING] [de/TIMING] [t/TAG]...
- Edits the event at the specified
INDEX
Note:
- The
INDEX
refers to the index number shown in the displayed event list. - The
INDEX
must be a positive integer 1, 2, 3, … - The
INDEX
must be below 1,000,000. -
[]
are optional parameters. - At least one of the optional fields must be provided.
- Edits will replace existing values, edits are not cumulative.
- Tags can be removed by typing
t/
without specifying any tags after it. - Existing tags will also be removed when editing editing tags, it will be necessary to input all the existing tags during the edit.
- Do note that
edit
is only for editing the event details, not the contact details. - To link the event to a new contact, consider using
linkcontact
instead.
Example:
-
edit 2 r/100
- This command will edit the rate of the 2nd event to be
100
. - Example expected output:
Edited Event: DJ at wedding; Rate: 100.00; Address: 311, Clementi Ave 2, #02-25; Timing: 11-03-2023 11:00 to 11-03-2023 17:00; Mark: [ ]; Tags: [dj][friends]
- This command will edit the rate of the 2nd event to be
-
edit 2 n/Wedding Dinner t/
- This command will edit the name of the 2nd event to be
Wedding Dinner
and remove all tags. - Example expected output:
Edited Event: Wedding Dinner; Rate: 100.00; Address: 311, Clementi Ave 2, #02-25; Timing: 11-03-2023 11:00 to 11-03-2023 17:00; Mark: [ ]
- This command will edit the name of the 2nd event to be
-
edit 2 n/Wedding Lunch
- This command will edit the name of the 2nd event to be
Wedding Lunch
. - Example expected output:
Edited Event: Wedding Lunch; Rate: 100.00; Address: 311, Clementi Ave 2, #02-25; Timing: 11-03-2023 11:00 to 11-03-2023 17:00; Mark: [ ]
- This command will edit the name of the 2nd event to be
Before editing 1st event to Wedding Dinner Photography at Carlton Hotel ballroom
After editing 1st event to Wedding Dinner Photography at Carlton Hotel ballroom
Exit application: exit
Closes Paidlancers.
Format: exit
Find Event: find
Finds event(s) from the event book based on the given search string.
Format: find KEYWORD [MORE_KEYWORDS]
- Finds the event using the specified
KEYWORD
Note:
- The
KEYWORD
refers to the string to search the event list for. -
[]
are optional parameters. -
find
will return all events that contain theKEYWORD
in their name. -
find
is case-insensitive.
Example:
-
find wedding
- This command will find and list all events that contains 'wedding' in its name.
-
find wedding dinner
- This command will find and list all events that contains 'wedding' or 'dinner' in its name.
Link Contact to Event: linkcontact
Links a client contact to an event.
Format: linkcontact INDEX PHONE
- Links contact using
PHONE
to the event at the specifiedINDEX
Note:
- The
INDEX
refers to the index number in the displayed events list. - The
INDEX
must be a positive integer 1, 2, 3, … - The
INDEX
must be below 1,000,000. - The
PHONE
must be a valid phone number in the contact list.
Example:
-
linkcontact 2 91234567
- This command will link the contact with phone number
91234567
to the 2nd event in the event list. - Example expected output:
Successfully linked! Wedding Lunch; Rate: 100.00; Address: 311, Clementi Ave 2, #02-25; Timing: 11-03-2023 11:00 to 11-03-2023 17:00; Mark: [ ]
- This command will link the contact with phone number
List all Events: list
Displays all events.
Format: list
Mark Event as Done: mark
Marks a specified event in Paidlancers as done.
Format: mark INDEX
- Marks the event at the specified
INDEX
as done
Note:
- The
INDEX
refers to the index number in the displayed events list. - The
INDEX
must be a positive integer 1, 2, 3, … - The
INDEX
must be below 1,000,000.
Example:
-
mark 2
- This command will mark the 2nd event in the event list as done.
- Example expected output:
Marked event: Wedding Lunch; Rate: 100.00; Address: 311, Clementi Ave 2, #02-25; Timing: 11-03-2023 11:00 to 11-03-2023 17:00; Mark: [X]; Contact: Gladious Lee; Phone: 92348274
Before marking 1st event
After marking 1st event
Unmark an Event: unmark
Unmarks a specified event in Paidlancers.
Format: unmark INDEX
- Unmarks the event at the specified
INDEX
Note:
- The
INDEX
refers to the index number in the displayed events list. - The
INDEX
must be a positive integer 1, 2, 3, … - The
INDEX
must be below 1,000,000.
Example:
-
unmark 2
- This command will unmark the 2nd event in the event list.
- Example expected output:
Unmarked event: Wedding Lunch; Rate: 100.00; Address: 311, Clementi Ave 2, #02-25; Timing: 11-03-2023 11:00 to 11-03-2023 17:00; Mark: [ ]; Contact: Gladious Lee; Phone: 92348274
View Total Revenue: revenue
Displays the total revenue based on all the events marked as done.
Format: revenue
- Example expected output:
The total revenue is: 200.00
View Upcoming Events: remind
Displays events that start within a specified number of days.
Format: remind DAYS
- Displays events that start within the specified number of
DAYS
Note:
-
DAYS
must be a positive integer 1, 2, 3, … -
DAYS
must be below 1,000,000. - Only events that start after the current date and time will be displayed.
- The number of days to an event are the days from today's date to the event's start date. Their times are not considered.
Example:
Assume the current date and time is 22-03-2023 11:00.
-
remind 2
- This command will display events that start within 2 days. These are events that start on:
- 22-03-2023 after 11:00
- 23-03-2023 the whole day
- 24-03-2023 the whole day
- Note that 24-03-2023 is within 2 days of 22-03-2023, so events on 24-03-2023 that start more than 48 hours from the current date and time are displayed.
- This command will display events that start within 2 days. These are events that start on:
Saving data:
Paidlancers data are saved in the hard disk automatically on command issue. There is no need to save manually.
FAQ
Q: How do I transfer my data to another Computer?
- Follow the quickstart guide until step 3.
- In the same home folder as your Paidlancers, copy the old data folder from your old computer to the new computer.
- Your home folder should contain the following files and folders:
Paidlancers.jar data/ contactlist.json eventbook.json
- Run the jar file as per usual!
Features Summary
Features | Features Format | Example Usage |
---|---|---|
Add a Contact | newcontact n/NAME p/NUMBER |
newcontact n/Deborah Tan p/91234567 |
Clear all Events and Contacts | clear |
clear |
Create New Event | newevent n/NAME p/rate a/ADDRESS ds/START_TIME de/END_TIME [t/TAG]… |
newevent n/DJ at wedding p/100 a/311, Clementi Ave 2, #02-25 ds/11-03-2023 11:00 de/11-03-2023 17:00 t/friends t/dj |
Delete an Event | delete INDEX |
delete 2 |
Edit an Event | edit INDEX [n/NAME] [r/RATE] [a/ADDRESS] [ds/TIMING] [de/TIMING] [t/TAG]... |
edit 2 r/100 |
Exit application | exit |
exit |
Find Event | find KEYWORD [MORE_KEYWORDS] |
find wedding dinner |
Link Contact to Event | linkcontact INDEX CONTACT |
linkcontact 2 91234567 |
List all Events | list |
list |
Mark Event as Done | mark INDEX |
mark 2 |
Unmark an Event | unmark INDEX |
unmark 2 |
View Total Revenue | revenue |
revenue |
View Upcoming Events | remind DAYS |
remind 2 |
Saving data | NIL | NIL |