repti-media Service
Media and content managementService Type: Media & Content Service
Port: 8004
Database: repti_media_db
Status: Planned
Team Owner: Media Team
Port: 8004
Database: repti_media_db
Status: Planned
Team Owner: Media Team
Purpose & Responsibilities
repti-media handles all media-related functionality, from file storage and processing to dynamic document generation and embeddable widgets for external websites.Core Responsibilities
File Storage & Management
- Image, video, and document uploads
- CDN integration and optimization
- File metadata and tagging
- Storage lifecycle management
- Access control and permissions
Media Processing
- Image resizing and optimization
- Video transcoding and compression
- Thumbnail generation
- Format conversion
- Watermarking and branding
Dynamic Rendering
- Pedigree chart generation (PDF, SVG, PNG)
- Health certificate exports
- Breeding record reports
- Custom document templates
- Print-optimized layouts
Embeddable Widgets
- Animal profile cards
- Pedigree tree widgets
- Breeder showcase displays
- Marketplace listing embeds
- Real-time data integration
API Endpoints
File Management
Media Processing
Document Rendering
Embeddable Widgets
CDN & Delivery
Database Schema
Core Tables
File Storage & Metadata
File Storage & Metadata
Media Processing
Media Processing
Document Rendering
Document Rendering
Embeddable Widgets
Embeddable Widgets
Event Publishing & Subscriptions
Published Events
File Events:file.uploaded- New file uploadedfile.processed- Processing completedfile.deleted- File removedfile.accessed- File downloaded/viewedfile.expired- File reached expiry date
processing.started- Media processing beganprocessing.completed- Processing finishedprocessing.failed- Processing error occurredprocessing.progress- Processing status update
render.pedigree.requested- Pedigree generation startedrender.pedigree.completed- Pedigree chart readyrender.document.generated- Document createdrender.failed- Rendering error
embed.widget.created- New embeddable widgetembed.widget.viewed- Widget display trackedembed.widget.interacted- Widget interactionembed.code.generated- Embed code created
content.updated- Media content changedcontent.published- Content made publiccontent.optimized- Media optimization completed
Event Subscriptions
animal.created- Generate placeholder imagesanimal.updated- Update associated medialineage.updated- Regenerate pedigree chartsprofile.updated- Refresh embeddable widgetsbreeding.clutch.completed- Generate breeding reports
File Processing Pipeline
Image Processing
Pedigree Chart Generation
CDN & Performance Optimization
CDN Strategy
- Global Distribution: CloudFront edge locations worldwide
- Smart Caching: Intelligent cache TTL based on content type
- Image Optimization: WebP conversion for modern browsers
- Lazy Loading: Progressive image loading for better UX
Storage Optimization
- Deduplication: SHA-256 hashing to prevent duplicate storage
- Lifecycle Policies: Automatic archival of old files
- Compression: Lossless compression for suitable file types
- Hot/Cold Storage: Tiered storage based on access patterns
Security & Access Control
File Security
- Access Control: Organization-scoped file permissions
- Secure URLs: Time-limited signed URLs for private content
- Virus Scanning: Automated malware detection on upload
- Content Validation: File type and content verification
Privacy Controls
- Visibility Levels: Public, organization-only, private settings
- Watermarking: Automatic watermarks for protected content
- Download Tracking: Complete audit trail of file access
- EXIF Stripping: Remove metadata from uploaded images
Performance & Scaling
Processing Optimization
- Async Processing: Background job processing with queues
- Parallel Processing: Multi-threaded media operations
- Caching: Processed version caching to avoid reprocessing
- Smart Resizing: On-demand resizing with caching
Storage Scaling
- Object Storage: Scalable S3-based file storage
- CDN Integration: Global content delivery network
- Bandwidth Optimization: Adaptive quality based on connection
- Prefetching: Intelligent content prefetching
Integration Points
Internal Dependencies
- repti-core: Authentication, configuration
- repti-animal: Animal data for rendering
- repti-commerce: Listing images and media
External Services
- AWS S3: Primary file storage
- CloudFront: CDN and content delivery
- Image Processing: ImageMagick/PIL for processing
- Video Processing: FFmpeg for video operations
Monitoring & Key Metrics
Performance Metrics
- Upload Success Rate: File upload completion rate
- Processing Time: Media processing duration
- CDN Hit Rate: Cache effectiveness
- Storage Utilization: Storage usage and growth
Business Metrics
- Media Engagement: File view and download rates
- Widget Performance: Embed widget usage analytics
- Document Generation: Pedigree and report creation rates
- Storage Costs: Cost optimization tracking
repti-media enables rich visual experiences across ReptiDex, from beautiful animal photos to professional pedigree charts and embeddable widgets that extend the platform’s reach to external websites.

