A Spring Boot + Thymeleaf based web application that helps users track and analyze their expenses with powerful insights. This project is designed to provide a clean, interactive, and user-friendly dashboard to manage personal finances with charts, filters, and reports.
- User Registration: Create a new account with secure credential storage.
- User Login: Secure login for existing users.
- 📊 Fetch Total Monthly Expenses – View monthly expense summary.
- 🔢 Number of Transactions – Quick count of total transactions in the current month.
- 🏷 Top Spending Category – Identify where you spend the most.
- 💳 Last Transaction – View the most recent transaction details.
- 📈 Category-wise Spending Chart – Visual breakdown of expenses by category.
- 🧾 Recent Transactions – List of your latest transactions at a glance.
- View All Transactions: See all transactions with pagination.
- Add New Transaction: Quickly add expenses with category and amount selection.
- Fetch all available expense categories.
- View recent transactions under each category.
- Display total expenses category-wise.
- Filters:
- Date Range (From – To)
- View Type (Daily, Monthly, Category-wise)
- Min / Max Amount Filter
- Insights:
- Average Spend / Day (based on selected range)
- Month vs Last Month Comparison (+/- %)
- Peak Spending Day (with total amount)
- Charts:
- Category-wise Spending (Bar Chart)
- Daily Spending (Bar Chart)
- Top 5 Expense Categories
- Download Options: Export reports as PDF or Excel.
- View Name, Email, Account Creation Date.
- View Monthly Total Transactions.
- View All-Time Total Transactions.
- Secure session termination with redirect to login page.
| Layer | Technology |
|---|---|
| Backend | Java 17, Spring Boot |
| Frontend | HTML5, CSS3, JavaScript, Thymeleaf |
| Build Tool | Maven |
| View Engine | Thymeleaf |
| Security | Spring Security (RBAC) |
| Database | My Sql |
| Hosting | vercel |
| Version Control | Git & GitHub |
Smart-Expense-Manager/
│
├── src/main/java/com/example/expensetracker/
│ ├── controller/ # Handles web requests & responses
│ ├── service/ # Business logic for expenses and users
│ ├── repository/ # JPA Repositories for database operations
│ └── entity/ # Expense and User entities
│
├── src/main/resources/
│ ├── templates/ # Thymeleaf HTML templates
│ └── application.properties
│
└── pom.xml
git clone https://github.com/abhinavkanthdoi-coder/Smart-Expense-Manager-Full-Stack-Java.git
cd Smart-Expense-Manager-Full-Stack-Java- Create a database in MySQL
- Update application.properties with your DB username & password
spring.datasource.username=YOUR_USERNAME spring.datasource.password=YOUR_PASSWORD spring.jpa.hibernate.ddl-auto=update
## 3. Build and Run
- Use the following command to run the project:
```bash
./mvnw spring-boot:run
- Navigate to http://localhost:8080
- soon....
├── Controller/ # All controllers (routes)
├── Model/ # Book.java entity
├── Service/ # Service layer interfaces and implementations
├── Repository/ # BookRepository interface (JPA)
├── config/ # Spring Security configuration
├── templates/ # Thymeleaf HTML pages
├── static/ # CSS, JavaScript, and images
└── application.properties
- AI-based budget suggestions
- Expense prediction based on past data
- Mobile-responsive PWA support
Contributions are welcome!
- Fork the repo
- Create a feature branch
- Submit a Pull Request
My License – Free for learning, educational use, and personal modifications.