Commit Graph

4 Commits

Author SHA1 Message Date
3b8adad57d 🚀 Goondex v0.1.0-dev3 - Comprehensive ML-Powered Search & Import System
MAJOR FEATURES ADDED:
======================

🤖 ML Analysis System:
- Comprehensive scene image analysis with per-scene predictions
- Enhanced database schema with scene_ml_analysis table
- Advanced detection for clothing colors, body types, age categories, positions, settings
- Support for multiple prediction types (clothing, body, sexual acts, etc.)
- Confidence scoring and ML source tracking

🧠 Enhanced Search Capabilities:
- Natural language parser for complex queries (e.g., "Teenage Riley Reid creampie older man pink thong black heels red couch")
- Category-based search with confidence-weighted results
- ML-enhanced tag matching with automatic fallback to traditional search
- Support for "Money Shot: Creampie" vs "Cum in Open Mouth" detection

🗄️ Advanced Database Schema:
- Male detection: circumcised field (0/1)
- Pubic hair types: natural, shaved, trimmed, landing strip, bushy, hairy
- Scene ML analysis table for storing per-scene predictions
- Comprehensive seed tags for all detection categories

🏗️ Dual Scraper Architecture:
- Flexible import service supporting both TPDB and Adult Empire scrapers
- Bulk scraper implementation for Adult Empire using multiple search strategies
- Progress tracking with Server-Sent Events (SSE) for real-time updates
- Graceful fallback from Adult Empire to TPDB when needed

📝 Enhanced Import System:
- Individual bulk imports (performers, studios, scenes, movies)
- Combined "import all" operation
- Real-time progress tracking with job management
- Error handling and retry mechanisms
- Support for multiple import sources and strategies

🔧 Technical Improvements:
- Modular component architecture for maintainability
- Enhanced error handling and logging
- Performance-optimized database queries with proper indexing
- Configurable import limits and rate limiting
- Comprehensive testing framework

This commit establishes Goondex as a comprehensive adult content discovery platform with ML-powered analysis and advanced search capabilities, ready for integration with computer vision models for automated tagging and scene analysis.
2025-12-30 21:52:25 -05:00
16fb407a3c v0.1.0-dev4: Add web frontend with UI component library
- Implement full web interface with Go html/template server
- Add GX component library (buttons, dialogs, tables, forms, etc.)
- Create scene/performer/studio/movie detail and listing pages
- Add Adult Empire scraper for additional metadata sources
- Implement movie support with database schema
- Add import and sync services for data management
- Include comprehensive API and frontend documentation
- Add custom color scheme and responsive layout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 10:47:30 -05:00
Team Goon
d9048db660 v0.1.0-dev3: Complete TPDB metadata with duplicate prevention
This release adds comprehensive metadata support and fixes the duplicate
performer issue.

MAJOR FIXES:
 Duplicate Prevention
   - Added UNIQUE(source, source_id) constraint to performers table
   - ON CONFLICT DO UPDATE in performer store
   - No more duplicate Riley Reid entries!

 Comprehensive TPDB Metadata
   - Extended Performer model with ALL TPDB fields
   - Physical: height, weight, measurements, cup size, eye/hair color
   - Personal: birthday, astrology, birthplace, ethnicity, nationality
   - Body: tattoos, piercings, boob job status
   - Career: start/end years, active status
   - Added PerformerExtras nested struct for TPDB "extras" object
   - Parse weight/height strings ("49kg" -> 49, "160cm" -> 160)
   - Handle British spelling (hair_colour, eye_colour)

 Enriched Import
   - Auto-fetch full performer details via GetPerformerByID
   - Search results now enriched with complete metadata
   - UUID + numeric TPDB ID both stored

 Enhanced CLI Output
   - Formatted display with all available stats
   - Height shown in cm and feet/inches
   - Weight shown in kg and lbs
   - Organized sections (IDs, Personal, Physical, Bio, Media)
   - Beautiful separator bars

TECHNICAL DETAILS:
- Schema: 25+ new performer fields with proper types
- Types: PerformerExtras struct for nested TPDB response
- Mapper: String parsing for "160cm", "49kg" format
- Store: Full field support in Create/Search/GetByID
- Display: Conditional rendering of all available data

TESTING:
 Riley Reid import: All 25+ fields populated correctly
 Duplicate prevention: Second import updates existing record
 Broad search ("riley"): Only 2 unique performers
 Data accuracy: Matches theporndb.net/performers/riley-reid

Database now captures:
- UUID: 26d101c0-1e23-4e1f-ac12-8c30e0e2f451
- TPDB ID: 83047
- Birthday: 1991-07-09
- Height: 160cm (5'3")
- Weight: 49kg (108lb)
- Measurements: 32A-24-34
- All tattoos, piercings, career info, and full bio

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 11:50:40 -05:00
Team Goon
2e747c6660 Initial release: v0.1.0-dev1
Clean slate initialization of Goondex - a fast, local-first media indexer.

Features:
- SQLite database with WAL mode and foreign keys
- Full schema for performers, studios, scenes, and tags
- Many-to-many relationships via junction tables
- CRUD stores for all entities with search capabilities
- CLI with performer/studio/scene search commands
- Pluggable scraper architecture with registry
- TPDB client stub (ready for implementation)
- Configuration system via YAML files
- Comprehensive .gitignore and documentation

Architecture:
- cmd/goondex: CLI application with Cobra
- cmd/goondexd: Daemon placeholder for v0.2.0
- internal/db: Database layer with stores
- internal/model: Clean data models
- internal/scraper: Scraper interface and TPDB client
- config/: YAML configuration templates

Database schema includes indexes on common query fields and uses
RFC3339 timestamps for consistency.

Built and tested successfully with Go 1.25.4.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 21:37:26 -05:00