Commit graph

9 commits

Author SHA1 Message Date
DustyWalker
ed5f745a51 feat(api): add images module for image filename management
- Implement PUT /api/image/{imageId}/filename for filename updates
- Add GET /api/image/{imageId} for detailed image information
- Support GET /api/image/batch/{batchId} for batch image listing
- Include filename approval, revert, and download URL generation
- Add comprehensive filename validation and SEO optimization
- Support presigned URL generation for secure downloads

Resolves requirement §75 for image filename management API.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:24:27 +02:00
DustyWalker
2add73a264 feat(api): add batches module for batch processing management
- Implement POST /api/batch endpoint for multipart file uploads
- Add GET /api/batch/{batchId}/status for real-time progress tracking
- Support batch cancellation, retry, and ZIP download generation
- Include comprehensive validation and quota checking
- Add progress broadcasting integration with WebSocket gateway
- Implement batch lifecycle management (create, process, complete)

Resolves requirements §29, §32, §73-§74 for batch processing API.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:24:15 +02:00
DustyWalker
d54dd44cf9 feat(api): add WebSocket module for real-time progress updates
- Implement ProgressGateway with Socket.IO integration
- Support batch subscription and progress broadcasting
- Add real-time events for image and batch status updates
- Include connection management and rate limiting
- Support room-based broadcasting for batch-specific updates
- Add cleanup for inactive connections

Resolves requirement §77 for WebSocket progress streaming.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:23:59 +02:00
DustyWalker
b39c5681d3 feat(api): add queue module for BullMQ background processing
- Implement QueueService with Redis-backed BullMQ integration
- Add ImageProcessingProcessor for individual image AI analysis
- Add BatchProcessingProcessor for coordinated batch operations
- Support job scheduling, progress tracking, and error handling
- Include queue management operations (pause, resume, clean)
- Add retry logic with exponential backoff strategies

Enables asynchronous processing for scalable image analysis workflows.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:23:42 +02:00
DustyWalker
149a4da024 feat(api): add upload module for multipart file processing
- Implement UploadService with Sharp integration for image processing
- Add file validation for MIME types, size limits, and safety checks
- Support batch file processing with duplicate detection
- Generate image thumbnails and optimize for web display
- Implement quota checking by user plan (Basic: 50, Pro: 500, Max: 1000)
- Extract image metadata (dimensions, format, etc.)

Resolves requirements §26-§27 for file upload validation and limits.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:23:30 +02:00
DustyWalker
d2c988303f feat(api): add storage module for MinIO/S3 integration
- Implement StorageService with MinIO client integration
- Add file upload, download, and metadata operations
- Support SHA-256 checksum calculation for deduplication
- Include presigned URL generation for secure downloads
- Add batch file management and cleanup operations
- Validate image MIME types for security

Resolves requirements §28-§30 for file storage architecture.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:23:18 +02:00
DustyWalker
0197a2f7ca feat(api): add core dependencies for image processing
- Add @nestjs/websockets and socket.io for real-time progress updates
- Add @nestjs/bullmq and ioredis for background job processing
- Add minio for S3-compatible object storage
- Add multer for multipart file uploads
- Add sharp for image processing and metadata extraction
- Add openai for AI-powered keyword enhancement
- Add axios for HTTP requests

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:23:05 +02:00
DustyWalker
9514a2d0a3 feat(auth): implement complete Google OAuth authentication system
- Add authentication module with Google OAuth 2.0 and JWT strategies
- Create secure user management with email hashing (SHA-256)
- Implement rate limiting (10 requests/minute) for auth endpoints
- Add CSRF protection and security middleware
- Create user registration with Basic plan (50 quota default)
- Add JWT-based session management with secure cookies
- Implement protected routes with authentication guards
- Add comprehensive API documentation with Swagger
- Configure environment variables for OAuth and security
- Add user profile management and quota tracking

Resolves authentication requirements §18-20:
- §18: Google OAuth 2.0 with email scope only
- §19: Auto-create User record on first OAuth callback
- §20: Store only Google UID, display name, and email hash

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:09:43 +02:00
DustyWalker
e7e09d5e2c feat(db): implement complete database schema and models
- Add Prisma schema with PostgreSQL 15 support
- Create Users, Batches, Images, Payments, ApiKeys tables
- Implement proper foreign key relationships and indexes
- Add enum types for status fields (Plan, BatchStatus, ImageStatus, PaymentStatus)
- Support for JSON fields (vision_tags, metadata)
- UUID primary keys for security
- Created/updated timestamps with proper defaults

Database Layer Components:
- Prisma service with connection management and health checks
- Repository pattern for all entities with comprehensive CRUD operations
- TypeScript DTOs with class-validator decorations
- Swagger API documentation annotations
- Helper functions for business logic (quota management, pricing, etc.)

Development Support:
- Environment variables template
- Database seed script with realistic test data
- TypeScript configuration optimized for Nest.js
- Package.json with all required dependencies

Resolves database requirements from issues §78-81 establishing
the complete data layer foundation for the AI Bulk Image Renamer SaaS.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:02:03 +02:00