SavingMoneyUnina is a group project developed for the Object Orientation course at the University of Naples Federico II.
It is a Java application designed to help users manage their personal and family finances. The system allows users to:
- Link one or more cards to their respective bank accounts
- Track and categorize incoming and outgoing transactions
- Create and manage both personal and shared (family) wallets
- Set up and monitor recurring expenses
The application follows Object-Oriented Programming (OOP) principles to ensure modularity, clarity, and maintainability.
- User registration and login system
- Add, edit, and delete cards and bank accounts
- View and categorize transactions (income/expenses)
- Create and manage personal and family wallets
- Set and track recurring expenses
- Dashboard with balance overview and recent activity
- Responsive and styled UI with JavaFX and CSS
The project is accompanied by comprehensive LaTeX documentation, including:
- Class diagrams
- Sequence diagrams
- Project architecture and design choices
- Java – Core application and business logic
- JavaFX – Graphical User Interface (GUI)
- CSS – User interface styling
- PostgreSQL – Database management system
- PL/pgSQL – Stored procedures and advanced database logic
- Maven – Build automation and dependency management
- IntelliJ IDEA – Main development environment
- DataGrip – Database development environment
The project uses Maven to manage dependencies and build the application.