58 lines
2.4 KiB
Markdown
58 lines
2.4 KiB
Markdown
# PhotoGallery
|
|
|
|

|
|

|
|

|
|

|
|
|
|
**PhotoGallery** is a responsive and dynamic web application built with Spring Boot and Thymeleaf. It features a modern masonry-style layout for organizing images of varying sizes, optimized for performance and usability across desktop and mobile devices.
|
|
|
|
Features:
|
|
- Masonry Grid Layout: Automatically arranges images of different sizes in an aesthetically pleasing masonry-style grid.
|
|
- Lazy Loading: Images load as you scroll for faster initial load times and better performance.
|
|
- Fullscreen Modal Viewer: Click an image to view it in fullscreen with previous/next navigation.
|
|
- Responsive Design: Fully mobile-friendly using Bootstrap 5.
|
|
- Dynamic Image Loading: Supports adding new images dynamically from the backend without changing frontend code.
|
|
- Hover Effects: Smooth zoom and shadow effects for a modern look.
|
|
## 🌟 Features
|
|
|
|
\ No newline at end of file
|
|
- **Masonry Grid Layout**: Automatically arranges images of different aspect ratios in an aesthetically pleasing grid.
|
|
- **Lazy Loading**: Images load asynchronously as you scroll, ensuring fast initial page loads.
|
|
- **Smart Ingestion**: Scans local directories to automatically compress images, generate thumbnails, and extract metadata (EXIF).
|
|
- **Fullscreen Viewer**: Immersive modal viewer with navigation controls.
|
|
- **Search & Filter**: Search photos by title or tags.
|
|
- **Metadata Extraction**: Automatically extracts and displays camera details, resolution, and file size.
|
|
- **Responsive Design**: Built with Bootstrap 5 for a seamless mobile experience.
|
|
|
|
## 🚀 Getting Started
|
|
|
|
### Prerequisites
|
|
- Java 17 or higher
|
|
- Maven (wrapper included)
|
|
|
|
### Configuration
|
|
Configure your image paths in `src/main/resources/application.properties`:
|
|
|
|
```properties
|
|
photogallery.paths.originals=/path/to/your/images
|
|
photogallery.paths.thumbnails=/path/to/your/thumbnails
|
|
```
|
|
|
|
### Running the Application
|
|
|
|
Use the included Maven wrapper to run the application:
|
|
|
|
```bash
|
|
# Linux/macOS
|
|
./mvnw spring-boot:run
|
|
|
|
# Windows
|
|
mvnw.cmd spring-boot:run
|
|
```
|
|
|
|
Access the gallery at `http://localhost:8080`.
|
|
|
|
## 📚 Documentation
|
|
See documentation.md for architectural details and stack.md for the technology stack.
|