A full stack finance tracker application built with React and Spring Boot. Spring Boot manages user requests and data storage in a PostgreSQL database using Spring JPA ORM.
ViteReact.jsTypeScriptJavaMavenSpring BootSpring JPAPostgreSQLShadCN
This application includes:
- Auth: Uses Spring Security for storing user credentials, Bcrypt for encryption, and JWTokens for session management.
- Bank Accounts: Tracks user balances across accounts.
- Financial Management: Handles expenses, incomes, and investments with a detailed dashboard for net worth progression.
Key insights gained from this project:
- Built my first comprehensive Spring Boot application.
- Gained familiarity with Spring JPA for database interactions.
- Implemented an auth system using Spring Security independently.
- Employed techniques to minimize code duplication on the front end.
- Enhanced understanding of Java's exception handling for richer notifications.
Potential enhancements:
- Make the app responsive.
- Add CSV data import for users.
- Implement real-time investment tracking.
To set up locally:
- Configure .env file:
DB_USERNAME=username DB_PASSWORD=password JWT_SECRET=jwt_secret - Clone the repository to your local machine.
- Execute
.mvn clean installto install backend dependencies. - Run
cd ./frontend && npm installto set up frontend dependencies. - Start the backend with
mvn spring-boot:runand the frontend withcd ./frontend && npm run dev. - Open http://localhost:5173 in your web browser to view the app.
Watch a demonstration here: Video