FinTrack is an enterprise expense management system designed to help businesses efficiently track and manage financial transactions. It features a modern frontend built with React, TypeScript, and TailwindCSS, and a backend powered by Spring Boot with MySQL.
- User authentication (Signup, Login)
- Expense tracking and management
- Secure API with Spring Security
- Database management using MySQL and Flyway
- Responsive UI with TailwindCSS
- Interactive data visualization using Recharts
- React 19 (TypeScript)
- TailwindCSS
- Axios for API requests
- Recharts for data visualization
- Spring Boot 3.3.9
- Spring Security
- Spring Data JPA (MySQL)
- Flyway for database migrations
- Lombok for cleaner code
- Node.js (for frontend)
- Java 21 (for backend)
- MySQL database
- Maven (for backend dependency management)
# Clone the repository
git clone https://github.com/yourusername/fintrack.git
cd fintrack/frontend
# Install dependencies
npm install
# Start the development server
npm run devcd fintrack/backend
# Build the project
mvn clean install
# Run the Spring Boot application
mvn spring-boot:runfintrack/
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── styles/
│ │ ├── App.tsx
│ │ ├── main.tsx
│ ├── package.json
│ ├── tailwind.config.js
│ ├── tsconfig.json
│ └── vite.config.ts
├── backend/ # Spring Boot backend
│ ├── src/
│ │ ├── main/java/com/fintrack/
│ │ ├── resources/
│ ├── pom.xml
│ ├── application.properties
└── README.md
Create a .env file in the backend/src/main/resources/ directory:
spring.datasource.url=jdbc:mysql://localhost:3306/fintrack
spring.datasource.username=root
spring.datasource.password=yourpasswordFor the frontend, create a .env file in frontend/:
VITE_API_URL=http://localhost:8080/apinpm run testmvn testnpm run buildCreate a Dockerfile for the backend:
FROM openjdk:21-jdk-slim
COPY target/fintrack-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]Build and run:
docker build -t fintrack-backend .
docker run -p 8080:8080 fintrack-backendThis project is licensed under the MIT License.