https://github.com/wisskirchenj/budget-manager
Java CL-app for managing budget
https://github.com/wisskirchenj/budget-manager
java menu-navigation
Last synced: over 1 year ago
JSON representation
Java CL-app for managing budget
- Host: GitHub
- URL: https://github.com/wisskirchenj/budget-manager
- Owner: wisskirchenj
- Created: 2023-04-10T17:30:52.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-21T15:29:25.000Z (over 2 years ago)
- Last Synced: 2025-01-06T04:12:46.203Z (over 1 year ago)
- Topics: java, menu-navigation
- Language: Java
- Homepage:
- Size: 95.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.