A Spring Boot-based Finance Manager that utilizes AI-driven categorization and AI Chatbot to help users manage their finances effectively.
- AI-Powered Categorization: Automatically categorize transactions.
- AI Chatbot: Help users maintain financial stability.
- Transaction Management: Add and delete financial transactions.
- Interactive Dashboard: Visualize expenses and trends.
- Secure Authentication: User login and data protection.
- Task Management: Add and delete tasks.
- Java 23
- Spring Boot (Backend)
- Hibernate & JPA (Database ORM)
- MySQL (Database Storage)
- HTML&CSS & JavaScript (Frontend)
- Maven (Build Tool)
Clone the repository to your local machine:
git clone https://github.com/Kaloyanov5/finance-manager.git
cd finance-managerEnsure you have MySQL installed and running.
- Run the schema setup script:
CREATE DATABASE finance_manager;- Create
application.propertiesfiles insrc/main/resources/ - Copy the contents of
src/main/resources/application.properties.exampleand paste them in theapplication.propertiesfile - Assign working values to the variables:
- Database configuration (IP and port the server is running on, name of database, user and the password to the user)
- Gemini API key (you can get your API key from here -> https://aistudio.google.com/apikey)
- Secret key (generate a 256 bit key here -> https://jwtsecret.com/generate)
If you are not running the project locally, change the URLs in src/main/resources/static/scripts.js
mvn clean install
mvn spring-boot:run- Open the project in IntelliJ.
- Run
FinanceManagerApplication.java.
- Register or log in to your account.
- Add transactions manually.
- View categorized expenses.
- Use the dashboard:
- Track expenses.
- Add and delete tasks.
- Chat with AI-powered Finance Chatbot.
This project is open-source and available under the MIT License.
Pull requests are welcome! Please open an issue for major changes before submitting PRs.