Backend API for the Expense Tracker application written in Java Spring Boot.
The Python API that allow automatic transaction categorization can be found here : https://github.com/kuro-jojo/bert-transaction-categorizer-api
The Expense Tracker application allows users to manage their expenses, incomes, and subscriptions. It helps users keep track of their expenses through budgeting, alerting, and visualizations.
- User authentication and authorization
- Expense and income management
- Subscription tracking
- Email confirmation for user registration
- Budgeting and alerts (TODO)
- Cool graphs and visualizations (TODO)
To install and run the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/expense-tracker.git cd expense-tracker -
Install dependencies:
./mvnw install
-
Build the project:
./mvnw package
-
Create a
.envfile in the root directory and add the necessary environment variables:SPRING_GMAIL_USERNAME= SPRING_GMAIL_PASSWORD= SPRING_MYSQL_HOST=localhost SPRING_MYSQL_DB_NAME=expense_tracker SPRING_MYSQL_USERNAME=user SPRING_MYSQL_PASSWORD=password SPRING_JWT_SECRET_KEY=
-
Update the application.yaml file with your configuration settings:
server: port: 8080 bert-cat-api: url:
The bert API is used to classify the user's expenses into categories. You can find more information about the API here (TODO).
To run the application, use the following command:
./mvnw spring-boot:runThe application will be available at http://localhost:8080.
To run the tests, use the following command:
./mvnw testContributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.