1.8 KiB
1.8 KiB
🔮 Future Roadmap
🚧 Technical Debt & Improvements
Error Handling
- Ingestion Robustness: Currently,
DataIntegrityViolationExceptionis ignored during scanning. A more detailed logging or reporting mechanism for skipped files would be beneficial. - Path Handling: Move away from string concatenation for paths (e.g.,
"images" + "/" + ...) tojava.nio.Pathresolution to ensure cross-platform compatibility (Windows vs Linux separators).
Performance
- Caching: Implement Spring Cache for
getPagedPhotosandgetRandomPhotosto reduce database load. - Batch Processing: The current scanning process saves photos one by one. Implementing
saveAll()with batching would significantly speed up large library imports.
✨ Planned Features
AI Integration
- Auto-Tagging: Re-enable and implement the
taggingService(currently commented out inPhotoService) to automatically generate tags using a local ML model or cloud API. - Face Recognition: Group photos by detected faces.
User Experience
- Dark Mode: Toggle between light and dark themes.
- Multi-Select: Allow selecting multiple photos for batch tagging or deleting.
- EXIF Editing: Allow users to manually update incorrect EXIF data via the UI.
Backend
- Cloud Storage: Add an abstraction layer to support S3 or Azure Blob Storage instead of just local file systems.
- User Accounts: Add Spring Security to support multiple users with private galleries.
🧪 Testing
- Unit Tests: Add JUnit 5 tests for
PhotoServicelogic. - Integration Tests: Test the full ingestion flow with temporary directories.
Note: This document serves as a living roadmap. Priorities may change based on user feedback and technical requirements.