FinTrack is a full-stack Java-based application that helps users manage their personal finances. It includes secure backend services, a modern JavaFX user interface, and integration with a MySQL database hosted on Azure.
This collaborative app combines backend functionality with a visually dynamic frontend:
- 🔐 Spring Boot-based APIs for authentication, budgets, transactions, and savings (Muhammad, William)
- 🎨 JavaFX desktop UI with custom themes and scene navigation (Dieunie, Jason)
- 🌐 Seamless frontend-backend integration using REST APIs
- 🧪 Thoroughly tested via Postman, GUI flows, and Azure-hosted MySQL
Watch our quick demo walkthrough of FinTrack in action:
Detailed [Presentation/Demo]
Short[Overview]
- Secure User Registration & Login (BCrypt password hashing)
- Budget Management (CRUD support)
- Transaction Tracking (income, expenses, categories)
- Savings Goals (target & progress tracking)
- Light/Dark Themes (toggle via JavaFX CSS)
- Animated Navigation (transitions, splash screen)
- Azure MySQL Integration (cloud-stable)
| Layer | Technologies |
|---|---|
| Language | Java 17 / Java 23 |
| Backend | Spring Boot 3.x, JPA (Hibernate) |
| Frontend | JavaFX, FXML |
| Database | MySQL (Azure-hosted) |
| Security | Spring Security + BCrypt |
| Build | Maven |
| IDE | IntelliJ IDEA + Scene Builder |
| Testing | Postman, GUI forms |
FinTrack/ ├── backend/ │ ├── config/ │ ├── controllers/ │ ├── models/ │ ├── repositories/ │ ├── services/ │ └── FinTrackApplication.java ├── frontend/ │ ├── controllers/ │ ├── fxml/ │ ├── css/ │ ├── images/ │ └── Main.java
- Navigate to:
backend/src/main/resources/application.properties - Replace credentials with your MySQL database settings.
- Run the backend:
mvn spring-boot:run-
Open
/frontendas a module in IntelliJ. -
Run Main.java in the com.fintrack package.
-
Ensure JavaFX SDK and VM options are configured.
POST /api/users/register– Register a userPOST /api/users/login– Login
GET /api/users– Get all usersPUT /api/users/{id}– Update a userDELETE /api/users/{id}– Delete a user
- Full CRUD operations supported
- See
/backend/controllersfor detailed route logic
-
FXML Screens: Login, Signup, Dashboard, Profile, Transactions, Forgot, Reset
-
Controllers: Scene switching, input validation, animations
-
Themes: Toggle light/dark mode with custom CSS
-
Assets: Sidebar icons, charts, and styled fields
- Built complete Spring Boot backend: authentication, budgets, transactions, and saving goals
- Connected and tested full-stack with JavaFX frontend
- Configured Spring Security and API error handling
- Finalized backend integration into
merge_frontendbranch - ✅ Ensured full backend stability across all modules
- Designed and implemented all FXML UI screens
- Created polished dark/light themes, splash screen, and branding
- Handled all GUI controller logic, scene transitions, and user navigation
- Focused on UX, accessibility, and visual consistency across app
- Created and hosted MySQL schema on Microsoft Azure
- Developed and tested
BudgetControllerAPI endpoints - Set up secure API routes and collaborated on backend data models
- Developed scene switching system and sidebar navigation
- Implemented dashboard charts and reusable UI components
- Worked on
jason_mergedto align frontend with backend-ready design - Designed and implemented all FXML UI screens
- Created polished dark/light themes and splash screen
- Handled all GUI controller logic, scene transitions, and user navigation
This project is licensed under the MIT License. You’re free to use and modify with credit.
📧 Contact
- William Jijon – [email protected]
- Muhammad A. Imran – [email protected]
- Jason M. Maldonado – [email protected]
- Dieunie Gousse - [email protected]
Project Repo – GitHub - FinTrack
Thank you for using FinTrack — the modern way to take control of your finances.






