Commit graph

7 commits

Author SHA1 Message Date
SamoilenkoVadym
acc071927e Add Docker support with complete deployment setup
Features:
- Docker mode detection via DOCKER_MODE env var
- Persistent volumes for uploads, database, and output
- Health checks and auto-restart
- Complete docker-compose.yml configuration
- Helper script (docker-run.sh) for easy management
- Comprehensive DOCKER.md documentation

Changes:
- web_app.py: Auto-detect Docker mode, use persistent dirs
- src/database.py: Auto-detect database path based on environment
- Dockerfile: Multi-stage build with all dependencies (ExifTool, Tesseract, Poppler, FFmpeg)
- docker-compose.yml: Production-ready configuration
- docker-run.sh: Management script (build, start, stop, logs, etc.)
- DOCKER.md: Complete deployment and troubleshooting guide
- README.md: Added Docker quick start section
- .gitignore: Added Docker-related entries

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-26 13:07:15 +00:00
SamoilenkoVadym
007597c88a Remove GUI version, fix import metadata bugs, add .env.example
Major Changes:

- Removed GUI version (run_gui.py, src/gui_app.py) - Web-only application

- Fixed duplicate JavaScript variable declaration (importSessionId)

- Fixed metadata import endpoint to use session data instead of Excel lookup

- Added .env.example with all configuration options

Bug Fixes:

- Fixed /update endpoint to use suggested_metadata from session

- Fixed JavaScript updateAllFiles() to send session_id and file_index

- Updated README.md to reflect web-only interface

Dependencies:

- Updated requirements.txt to use minimum version constraints (>=)

Configuration:

- Added comprehensive .env.example with all environment variables

- Documented OpenAI API, Microsoft SSO, and optional tool paths

Testing:

- Verified import metadata workflow end-to-end

- Confirmed file upload and metadata update functionality

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-26 12:14:18 +00:00
SamoilenkoVadym
e2f1867509 Consolidate Excel Lookup and Import into unified Import from File feature
- Removed separate Excel Lookup option from metadata source dropdown
- Consolidated into single 'Import from File (CSV/Excel/JSON)' option
- Removed duplicate Excel Mapping Modal and related functions
- Enhanced Import modal to handle Excel sheet selection
- Updated footer to show v3.1 and simplified metadata sources
- Updated README to reflect consolidated import functionality
- Removed redundant Excel-specific code for cleaner codebase

Benefits:
- Simpler user interface (3 metadata sources instead of 4)
- Unified mapping interface for all file types
- Less code duplication and easier maintenance
- Better UX with consistent workflow

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 17:14:48 +00:00
SamoilenkoVadym
804c8acbbb v3.1 Enterprise Edition: Excel/Import mapping, UI fixes, documentation update
Features:
- Smart column mapping for Excel and Import files (CSV/Excel/JSON)
- Modal dialogs for configuring sheet and column mappings
- Auto-detection of common column names (filename, title, description, keywords)
- Preview of first 3 rows before confirming mapping
- Case-insensitive filename matching without extension

UI Improvements:
- Fixed output folder selection (now uses text input instead of folder browser)
- Removed non-functional Reset button from metadata editor
- Clear button for output folder path

Documentation:
- Updated README.md with v3.1 Enterprise Edition information
- Developer: Vadym Samoilenko
- License: Corporate License - Oliver Marketing
- Added AI usage tracking and logging documentation
- Complete installation guide with all dependencies
- API endpoint documentation
- Security and privacy section
- Troubleshooting guide

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 17:06:18 +00:00
SamoilenkoVadym
ae19179752 Phase 1.4: ExifTool integration for enhanced metadata support
Added ExifTool integration to support 300+ file formats with improved
performance and unified API for metadata operations.

Changes:
- Added PyExifTool>=0.5.6 to requirements.txt
- Created comprehensive ExifTool setup guide (docs/EXIFTOOL_SETUP.md)
- Created ExifToolExtractor for reading metadata from images/video/PDF
- Created ExifToolUpdater for writing metadata to images/video/PDF
- Updated README with ExifTool installation instructions

ExifTool Benefits:
- Unified API for images, videos, PDFs (vs 5+ separate libraries)
- Support for 300+ formats (HEIC, RAW, MKV, and more)
- 10-60x faster batch operations with stay_open mode
- Better PDF metadata writing (current pypdf is read-only)
- Battle-tested tool with 20+ years of development

Architecture:
- Hybrid approach: ExifTool for images/video/PDF, Python libs for Office
- Graceful fallback if ExifTool not installed
- Automatic detection on startup with helpful messages
- Tag mapping from ExifTool tags to standard fields (title/subject/keywords)

Implementation follows existing extractor/updater patterns for consistency.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 15:26:01 +00:00
SamoilenkoVadym
7db62e06da Phase 1.1: Rebrand to Oliver Metadata Tool v3.0
- Updated application name to "Oliver Metadata Tool"
- Updated version to 3.0.0
- Added App Info constants to config.py (APP_NAME, APP_VERSION, APP_DESCRIPTION)
- Updated web interface (title, header, footer)
- Updated README with new branding and description
- Added AI configuration settings to config.py
- Added ExifTool check method to config.py

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 15:15:26 +00:00
SamoilenkoVadym
2082ea7ce7 Initial commit: Universal metadata tool with Excel-based lookup
- Added Flask web interface for batch metadata processing
- Added Excel-based metadata lookup (Celum ID mapping)
- Dual-sheet support: DSB (primary) and Medsurg (fallback)
- Unicode/hieroglyph support for CGA region (Chinese, Japanese, Korean)
- Multi-format support: PDF, images, Office docs, video
- OCR with multi-language support (Tesseract)
- Filename matching without extension (case-insensitive)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 14:23:42 +00:00