pzsette / SubscriptionsManager

A simple subscriptions manager, built using test driven development (TDD) with Java and Maven.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SubscriptionsManager

Java CI with Maven

Coverage Status Reliability Rating Maintainability Rating Bugs Vulnerabilities Duplicated Lines (%)

A simple Java application to keep track and have an overview of subscriptions and their costs. Built using test driven development (TDD) with Java and Maven. It can be used through a GUI or a CLI interface.

Full project report

Screenshots

Requirements

  • Java (Tested on Java 11, 9, 8)
  • Docker
  • Maven

Arguments

Argument Description
--mongo-host MongoDB host address. Default value: localhost
--mongo-port MongoDB host port. Default value: 27017
--db-name Database name. Default value: subscriptionsmanager
--db-collection Collection name. Default value: subscriptions
--ui User interfaces options (gui, cli). Default value: gui

Test

You can run all the tests (Unit, Integration and E2E) for this app cloning the repo and executing the command:

mvn clean verify

alternatively you can execute the jacoco 100% coverage check with:

mvn clean verify -P coverage-check

or you can execute mutation testing pit with:

mvn clean verify -P pit-mutation

Run the app

Before using the app run MongoDB in a container, specifying port, with the command:

docker run -p 27017:27017 --rm mongo:4.2.3

To build the fat JAR package through the command

mvn clean package or alternatively you can download the JAR directly from here

Start the app with

java -jar ./target/subscriptionsmanager-0.0.1-SNAPSHOT-jar-with-dependencies.jar [arguments]

About

A simple subscriptions manager, built using test driven development (TDD) with Java and Maven.


Languages

Language:Java 100.0%