# ToolsTab / EtsyEngine Project Context ## Project Overview ToolsTab (running the `etsyengine` core) is a multi-tenant web application designed to support 50 to 100 website demonstration instances on a single Virtual Private Server (VPS). The platform is heavily tailored toward digital asset management, processing, and display, particularly for digital products such as seamless patterns, wall art, and printables. ## Technology Stack * **Backend Framework:** Java with Spring Boot * **Database:** PostgreSQL (Primary), accessed via Spring Data JPA / Hibernate * **Frontend Templating:** Thymeleaf * **Frontend Styling:** Tailwind CSS * **Deployment Environment:** CentOS VPS, running as a background service/JAR deployment * **Asset Generation Tools (External):** Midjourney (prompt-engineered asset packs and video generation sequences) ## Deployment Architecture * **Directory Location:** `/opt/toolstab/` * **Application Executable:** `etsyengine-1.0.jar` * **Environment Configuration:** `toolstab.env` and `application.properties` * **Database Connection:** Localhost PostgreSQL (Port 5432) using `md5` authentication. * **Application Port:** Port 8081 (adjusted to avoid 8080 conflicts in multi-tenant setup). * **Server Limits:** Configured for large digital asset uploads (100MB max file/request size, 2000 max part count). ## Current Development Roadmap & Module Objectives The following system-wide objectives are currently in progress across all application modules: ### 1. File Upload & Processing Enhancements * **Bulk Processing:** Implement bulk processing capabilities for digital assets wherever possible to streamline inventory management. * **Clipboard Support:** Enable `Ctrl+V` (paste) functionality for seamless single-image uploads directly into the interface. * **Image Previews:** Generate and display visual previews of uploaded image(s) before final submission or processing. * **Metadata Management:** Remove the "strip metadata" option from modules where retaining original image metadata is necessary. ### 2. UI/UX & Frontend Standardization * **Color Selection:** Implement a consistent, unified color picker across the entire platform. * **Dynamic Titles:** Remove hardcoded `` tags from raw HTML files; ensure all titles are dynamically populated by Spring Boot Controllers. * **Monetization Integration:** Add a popup modal after successful image processing containing a "Buy Me A Coffee" (BMAC) link. ### 3. Backend Refactoring & Optimization * **File Deletion Handling:** Remove direct file deletion logic from individual controllers. Standardize all deletion operations to utilize a centralized `tempdeletescheduler` for safer, asynchronous cleanup. * **SEO Optimization:** Implement SEO-related structural changes across all modules. This aligns with broader initiatives managing canonical URL architectures, Google Search Console indexing, dynamic sitemaps, and AdSense configurations for independent web properties.