The Expenses Tracker App is a robust financial management solution developed using cutting-edge technologies such as Spring Boot, Spring Security, and MySQL. With user authentication and authorization features, users can securely sign up, sign in, and perform CRUD operations on their expenses. The app's intuitive interface, powered by Thymeleaf and Bootstrap, ensures a seamless user experience. The filtering functionality allows users to efficiently organize and analyze their financial data. Explore the power of streamlined expense tracking and financial control with this feature-rich application.
(Screenshots below for more illustration)
- Java
- Spring boot
- Spring MVC
- Spring Security
- Spring Data (JPA)
- MySQL
- Thymeleaf
- Bootstrap
- User Authentication and Authorization: Securely sign up, sign in, and access the app with built-in authentication and authorization.
- CRUD Operations: Perform essential financial tracking actions such as adding, reading, updating, and deleting expenses.
- Filtering: Utilize the filtering feature to efficiently sort and view expenses based on various criteria.
This project is fully containerized using Docker and Docker Compose, ensuring consistent execution across environments.
- Spring Boot Application
- MySQL Database
- Custom Docker network for inter-service communication
No local installation of Java, Maven, or MySQL is required when using Docker.
You can run this application in two ways:
- Docker
- Docker Compose
- Clone the repository:
git clone https://github.com/your-username/Expenses-Tracker-WebApp.git
cd Expenses-Tracker-WebApp- Build and start the containers:
docker compose up --build- Access the application:
http://localhost:8080✅ This will automatically start:
Spring Boot application MySQL database Required Docker network
Java 17+ Maven MySQL
-
Configure Database: Set up MySQL database and update the application.properties file with your database configuration.
-
Build and Run: Build the project using your preferred IDE or with Maven:
mvn clean install. -
Run the application:
java -jar target/expenses-tracker.jar. -
Access the App: Open your web browser and navigate to
http://localhost:8080.
- MySQL data is stored in a Docker volume and is excluded from version control.
- Environment variables and secrets are not committed for security reasons.
This project is based on the original repository by mohamed-elsawy:
- Original Repository: https://github.com/mohamed0sawy/Expenses-Tracker-WebApp
Enhancements added in this fork:
- Dockerfile for Spring Boot application
- Docker Compose setup for MySQL and application
- Containerized deployment with custom Docker network
- Updated documentation for Docker usage
Contributions are welcome! If you find a bug or have suggestions for improvement, feel free to open an issue or create a pull request.
This project is licensed under the MIT License.