A lightweight, terminal-based Java application that helps users manage their personal finances using the 50/30/20 budgeting rule.
It offers smart transaction tracking, real-time financial analysis, and AI-style coaching — all in a clean, easy-to-use terminal interface.
- Categorized tracking of Income, Needs, Wants, and Savings
- Real-time financial coaching based on the 50/30/20 rule
- Automatic data persistence using CSV
- Interactive and beginner-friendly terminal menu
- Clean Maven project structure ready for collaboration
- Open for contributions and new features
| Technology | Purpose |
|---|---|
| Java 17+ | Core language |
| Apache Maven | Build & dependency management |
| CSV | Lightweight data persistence |
| Terminal UI | Simple interactive interface |
- OpenJDK 17 or higher
- Apache Maven 3.6+
# Ubuntu / Debian
sudo apt update
sudo apt install openjdk-17-jdk mavengit clone https://github.com/bundlab/finance-coach.git
cd finance-coach
# Build the project
mvn clean compile
# Run the application
mvn exec:javaReplace
bundlabwith the actual repository owner.
- Launch the app with
mvn exec:java - Use the interactive menu to:
- Add income and expenses
- View budget breakdown
- Receive AI-powered financial insights
- All data is automatically saved to
finance_data.csv
finance-coach-java/
├── src/main/java/com/financecoach/
│ ├── Main.java # Application entry point
│ ├── engine/ # Business logic & analysis
│ └── model/ # Data models
├── src/main/resources/
│ └── finance_data.csv # Persistent storage
├── pom.xml
├── README.md
└── CONTRIBUTING.md
We welcome contributions from the community!
Whether you want to fix a bug, improve the coaching logic, add new features, or improve documentation — your help is appreciated.
Please read our Contributing Guide before submitting a pull request.
Thanks to everyone who has contributed to this project!
This project is open source and available under the MIT License.
Built with care to help people develop better financial habits.