Overview
This project is an Image Management and Processing service built with Java Spring Boot. The project features user authentication and various image processing functionalities. User data and image metadata are stored within a MySQL database. Images are stored on the server. The project uses Java's Graphics2D and the Imgscalr library for image transformations.
Features
User Authentication
- Sign Up: Users can create an account.
- Log In: Users can log into their account.
- JWT Authentication: Secure endpoints using JWT tokens for authenticated access.
Image Management
- Upload Image: Users can upload images to the server.
- Transform Image: Users can perform various transformations on uploaded images, including:
- Resize
- Crop
- Rotate
- Watermark
- Flip
- Mirror
- Compress
- Change format
- Apply filters
- Retrieve Image: Users can retrieve a saved image in different formats.
- List Images: Users can view a list of all uploaded images along with metadata.
Requirements
- Java 21+
- Spring Boot
- MySQL
- Imgscalr library