tp

User Guide

Introduction

Split-liang is an application that helps you split expenses with friends in a fun way! If you are tired of keeping track and calculating who owes who, Split-liang is here to help you. With Split-liang, you can create groups, add members, add expenses, and settle debts between members. Split-liang will automatically calculate the amount each member owes or is owed. You can also play slots to remove your debts!

Content Page

  1. Quick Start
  2. Features

Quick Start

  1. Ensure that you have Java 11 or above installed in your computer.
  2. Download the latest version of Split-liang from here.
  3. Copy the file to the folder you want to use as the home folder for your Split-liang.
  4. Open a command terminal, cd to the folder where the jar file is located. Run the command java -jar Split-liang.jar. The application should start and display the welcome message.

Command Structure

A command has the general format:

COMMAND ARGUMENT /param PARAM1 /param PARAM2 ...

Features

Viewing help: help

This command will display a message explaining how to use the application.

Format: help

Example: help

Output:

Welcome, here is a list of commands:
help: Access help menu.
create <name>: Create a group.
exit <name>: Exit current group.
member <name> : Add a member to the group.
expense <description> /amount <amount> /currency <currency> /paid <paid_by> /user <user_1> /user <user_2> ...: Add an expense SPLIT EQUALLY.
expense <description> /unequal /amount <amount> /currency <currency> /paid <paid_by> /user <user_1> <amount_owed> /user <user_2> <amount owed> ...: Add an expense SPLIT UNEQUALLY.
list: List all expenses in the group.
balance <user_name>: Show user's balance.
settle <payer_name> /user <payee_name>: Settle the amount between two users.
luck <payer_name>: luck is in the air tonight

GROUP COMMANDS

Creating a group: create

Creates a new group with the specified group name.

Format: create GROUP_NAME

Example: create Friends

This command will create a new group named ‘Friends’.

Entering a group: enter

Enters an existing group with the specified group name.

Format: enter GROUP_NAME

Example: enter Friends

This command will enter the group named ‘Friends’.

Deleting a group: delete group GROUP_NAME

Deletes an existing group with the specified group name.

Format: delete group GROUP_NAME

Example: delete group Friends

Add members to group: member

Adds a new member to the group.

Format: member USER_NAME

Example: member Alice

This command will add a new member named ‘Alice’ to the group.

Output: Alice has been added to group.

Exiting a group: exit

Exits the current group.

Format: exit GROUP_NAME

Example: exit Friends

This command will exit the group named ‘Friends’.


EXPENSE COMMANDS

Create a new expense: expense

Create a new expense for a given group.

1. Create expense split equally

Format:expense DESCRIPITON /amount AMOUNT /paid PAYER_USER_NAME /user USER_NAME /user USER_NAME

Examples:

Expenses with unequal split and Expense with different currencies take in the base parameters of Expenses split equally plus one additional parameter. All the rules mentioned for equally split expenses still apply.

2. Create expense split unequally

Format:expense DESCRIPITON /unequal /amount TOTAL_AMOUNT /paid PAYER_USER_NAME /user USER_NAME AMOUNT_OWED /user USER_NAME AMOUNT_OWED

Examples:

3. Create expense with different currency

Format: expense DESCRIPTION /currency CURRENCY /amount TOTAL_AMOUNT /paid PAYER_USER_NAME /user USER_NAME AMOUNT_OWED /user USER_NAME AMOUNT_OWED

Examples:


List expenses: list

Lists all expenses for the current group

Format: list


Delete an expense: delete expense

Deletes an expense based on index specified from list command.

Format: delete expense LIST_INDEX

Example:

Show balance of user: balance

Shows list of members the user owes money to.

Format: balance USER_NAME

Example:

balance Alice

  /\_/\
 ( ^.^ )
  > ^ <
<----------SUCCESS----------->
User Alice's Balance List:
  Bob : 5.00SGD
  Eve : 10.00SGD
  Eve : -10.00AUD
End of Balance List
<---------------------------->

This command will display the balance of the user named Alice. In this case, Bob owes Alice 5.00SGD, Eve owes Alice 10.00SGD and Alice owes Eve 10.00AUD


SETTLE COMMAND

Settle expenses: settle

Settles the expenses between two users in the group.

Format: settle USER_NAME1 /user USER_NAME2

Example: settle Alice /user Bob

This command will settle the expenses between Alice and Bob, showing what Alice owes Bob.


LUCK COMMAND

Trying your luck: luck USER_NAME1

Play slots to remove debts

Format: luck USER_NAME1`

This command enable users play slots to remove their debts


Saving the data

Split-liang automatically saves the data in each group to GROUP_NAME.txt in the data\groups folder after the user exits the group using the exit GROUP_NAME command or exits the application using the bye command. There is no need to save manually.

The group data is loaded automatically when the user enters the group using the enter GROUP_NAME command.


Exiting the Application

Saying goodbye: bye

This command exits the application.


List of currencies

The currencies currently supported by the Expenses feature:

Currency Tag to Enter (This is what should be entered after /currency) when creating new expense
US Dollar USD e.g. /currency USD
Singapore Dollar SGD e.g. /currency SGD
Chinese Yuan RMB e.g. /currency RMB
Euro EUR e.g. /currency EUR
Japanese Yen JPY e.g. /currency JPY
Australian Dollar AUD e.g. /currency AUD
Malaysian Ringgit MYR e.g. /currency MYR

FAQ

  1. Q: How do I create a new group?
    • A: To create a new group, use the create group command followed by the group name.
  2. Q: How do I transfer my data to another device?
    • A: You can copy the data folder to the new device to transfer your data.
  3. Q: Can I enter a new expense or add a new member without being in a group?
    • A: No you need to first create a new group or enter an existing one after which you can carry out those actions.

Command Summary


Action Format, Examples
Help help
Create group create GROUP_NAME
e.g. create Friends
Enter group enter GROUP_NAME
e.g. enter Friends
Delete group delete group GROUP_NAME
e.g. delete group Friends
Add member member USER_NAME
e.g. member Alice
Exit group exit GROUP_NAME
e.g. exit Friends
Add expense expense DESCRIPTION /amount AMOUNT /paid USER_NAME /user USER_NAME GROUP_NAME
e.g. expense lunch /amount 20 /paid Alice /user Bob
List expenses list
e.g. list
Delete expense delete expense LIST_INDEX
e.g. delete expense 3
Balance balance USER_NAME
e.g. balance Alice
Settle expenses settle USER_NAME1 /user USER_NAME2
e.g. settle Alice /user Bob
Luck luck USER_NAME1
e.g. luck Alice
Exit application bye