A modern expense tracking solution built with Spring Boot, React, and MySQL.
- Created a comprehensive full-stack expense tracking web application, enabling efficient day-to-day financial management.
- Integrated multi-role functionality with user authentication to ensure secure access for both users and administrators, including features such as sign-in, sign-up, password reset, and email verification.
- Designed user-friendly dashboards for managing transactions, tracking upcoming/recurring expenses, generating monthly summaries and statistics, and overseeing budgets.
- Added management features such as search, filter, and pagination for enhanced usability.
- IDE, for example:
- Visual Studio Code
- Install extension packs for Java and Spring boot in vscode. These will take care of building the springboot backend.
- Java Extension Pack: https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack
- Spring Boot Extension Pack: https://marketplace.visualstudio.com/items?itemName=vmware.vscode-boot-dev-pack
- Install extension packs for Java and Spring boot in vscode. These will take care of building the springboot backend.
- IntelliJ IDEA (Community or Ultimate edition)
- Visual Studio Code
- Java Development Kit (JDK) 21 or higher
- Node.js 20.x or higher
- npm 10.x or higher
- Docker and Docker Compose (included with Docker Desktop)
- Database Client, for example:
- MySQL Workbench
- DBeaver (Universal Database Tool)
- TablePlus
# macOS (using Homebrew)
brew install git
# Windows
Download and install from https://git-scm.com/# macOS (using Homebrew or your IDE or https://www.oracle.com/sa/java/technologies/downloads/)
brew install openjdk
# Windows
Download and install JDK from https://www.oracle.com/sa/java/technologies/downloads/# macOS (using Homebrew)
brew install node
# Windows
Download and install from https://nodejs.org/- Download and install Docker Desktop from Docker's official website
- Ensure Docker Desktop is running before proceeding with the project setup
# Start the MySQL database using Docker Compose
docker-compose up -d- Run
ExpenseTrackerApplication.javausing your IDE
# Navigate to the frontend directory
cd frontend
# Install dependencies
npm install
# Start the development server
npm startYou can log in using the following users:
- [email protected] / testing1234
- [email protected] / testing 1234
- Backend API should be running on
http://localhost:8080 - Frontend application should be accessible at
http://localhost:3000 - MySQL database should be running on port
3306
- Port Conflicts: Ensure ports 8080, 3000, and 3306 are not in use by other applications
- Docker Issues: Make sure Docker Desktop is running before starting the application
- Database Connection: Verify MySQL container is running using
docker ps - Java Version: Ensure JAVA_HOME is properly set to JDK 21