Skip to content

wisskirchenj/budget-manager

Repository files navigation

IDEA EDU Course

Implemented in the Java Developer Track of hyperskill.org JetBrain Academy.

Project goal is to implement a Command Line Budget Manager application with persistence and planning functionality.

Technology / External Libraries

  • Java 20
  • Lombok
  • Slf4j
  • Tests with Junit-Jupiter and Mockito
  • Gradle 8.1.1

Program description

The application will support you in analyzing your expenses and estimating the income, which sometimes may be difficult. You can create your own personal budget manager that counts the ins and outs and helps control the finances.

Project completion

Project was completed on 29.04.23.

Repository Contents

Sources for all project tasks (5 stages) with tests and configurations.

Progress

10.04.23 Project started. Setup of build and repo with gradle on Kotlin basis.

10.04.23 Stage 1 completed. Read in list of purchases and calculate total price.

15.04.23 Stage 2 completed. Add a main menu with functionality to add income, purchases, show balance and sum purchases.

28.04.23 Stage 3 completed. Generic menu-controller framework based on Enum Choice Types. Full test coverage Bump to Gradle 8.1.1 and Java 20.

29.04.23 Stage 4 completed. Introduce BudgetState data class for application state. Serialize to file and deserialize on save and load menu options.

29.04.23 Final Stage 5 completed. Add AnalyzeController to handle new Analyze-Menu Point, that allows filtered and sorted Purchase output and aggregation within Categories with an own submenu. Refactor ShowPurchaseController to factor out a PurchaseDisplayer used in both controllers.

About

Java CL-app for managing budget

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages