com.github.francis-pang:expense-reconciliator

Expense Tally is an application which tallies the transaction history from Singapore banks against the records download from Expense Manager database.

License

License

GroupId

GroupId

com.github.francis-pang
ArtifactId

ArtifactId

expense-reconciliator
Last Version

Last Version

56
Release Date

Release Date

Type

Type

jar
Description

Description

Expense Tally is an application which tallies the transaction history from Singapore banks against the records download from Expense Manager database.

Download expense-reconciliator

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.francis-pang/expense-reconciliator/ -->
<dependency>
    <groupId>com.github.francis-pang</groupId>
    <artifactId>expense-reconciliator</artifactId>
    <version>56</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.francis-pang/expense-reconciliator/
implementation 'com.github.francis-pang:expense-reconciliator:56'
// https://jarcasting.com/artifacts/com.github.francis-pang/expense-reconciliator/
implementation ("com.github.francis-pang:expense-reconciliator:56")
'com.github.francis-pang:expense-reconciliator:jar:56'
<dependency org="com.github.francis-pang" name="expense-reconciliator" rev="56">
  <artifact name="expense-reconciliator" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.francis-pang', module='expense-reconciliator', version='56')
)
libraryDependencies += "com.github.francis-pang" % "expense-reconciliator" % "56"
[com.github.francis-pang/expense-reconciliator "56"]

Dependencies

compile (6)

Group / Artifact Type Version
com.github.francis-pang : expense-tally-model jar 56
org.apache.logging.log4j : log4j-core jar 2.13.3
com.fasterxml.jackson.dataformat : jackson-dataformat-yaml jar 2.11.2
com.fasterxml.jackson.core : jackson-databind jar 2.11.2
org.xerial : sqlite-jdbc jar 3.32.3.2
org.mockito : mockito-inline jar 3.5.13

test (7)

Group / Artifact Type Version
org.junit-pioneer : junit-pioneer jar 0.9.0
org.junit.platform : junit-platform-launcher jar 1.7.0
org.junit.jupiter : junit-jupiter-engine jar 5.7.0
org.junit.jupiter : junit-jupiter-api jar 5.7.0
org.mockito : mockito-core jar 3.5.13
org.mockito : mockito-junit-jupiter jar 3.5.13
org.assertj : assertj-core jar 3.17.2

Project Modules

There are no modules declared in this project.

expense-tally

Build Status Comments (%) Sonarcloud Status Sonarcloud Status Sonarcloud Status Sonarcloud Status

This application will aim to reconcilate the past transaction history against my expense tracker application

The command line version of the application needs to be provided 2 information before it is able to execute. They are:

Option Description
database-filepath The absolute or relative path to a database file which stores the transaction of the Expense Manager
csv-filepath The absolute or relative path to a comma-separated value file which stores the bank transactions

The application accepts the parameters in 3 different formats:

  1. option=XXXX
  2. option = XXXX
  3. option XXXX

Any other format of input is not accepted, and will result in system error.

Note

Use plural for packages with homogeneous contents and singular for packages with heterogeneous contents.

For example, a package named com.myproject.task does not mean that each contained class is an instance of a task. There might be a TaskHandler, a TaskFactory and etc. However, a package named com.myproject.tasks would contain different types that are all tasks: TakeOutGarbageTask, DoTheDishesTask and etc.

  • For code comment, double forward slashes ("//") is preferred over multiple lined comment block. This is because it is easier to commented in block and there will not be issue due to nested comments.
  • For unit test, the convention is to write the method name under test, followed by the testing purpose separated with an underscore character ("_"). For example, isPaymentCardValid_incorrectLengthFail.
  • There will not be be any JavaDocs documentation for getter and setter methods.
  • All assertJ method calls are statically imported.

Short form

Short form Long form
csv comma separated values
err error
msg message
app application

Versions

Version
56
55