This document provides a comprehensive overview of the enhanced KNOUX VERSA application architecture and integration points.
client/src/
βββ components/
β βββ ui/ # Shadcn/ui design system
β βββ ServicesLayout.tsx # AI services with customization panels
β βββ ResultsComparison.tsx # Before/after image display (stacked)
β βββ SimpleImageCanvas.tsx # Image upload and selection tools
β βββ PromptNexus.tsx # AI command interface
β βββ ...
βββ hooks/
β βββ useImageTransform.ts # Image transformation logic
β βββ useLanguage.ts # Multi-language support
βββ pages/
β βββ Home.tsx # Main application page with tabs
βββ App.tsx
server/
βββ ai/ # AI processing modules
β βββ huggingface.ts # Hugging Face API integration
β βββ stableDiffusion.ts # Stable Diffusion processing
β βββ imageProcessor.ts # Image processing utilities
βββ routes.ts # API endpoints
βββ db.ts # Database connection
βββ index.ts # Express server
electron/
βββ main.ts # Electron main process with menu system
βββ preload.js # Secure IPC bridge
βββ assets/ # Application icons and resources
All components follow a consistent pattern:
interface ComponentProps {
// Typed props with clear interfaces
}
export function Component({ prop1, prop2 }: ComponentProps) {
const { t } = useLanguage(); // Multi-language support
return (
<Card className="glass rounded-2xl">
{/* Glass morphism styling */}
</Card>
);
}- Base: TailwindCSS with custom CSS variables
- Effects: Glass morphism, neon glows, floating animations
- Colors: Neon cyan (#00FFFF), purple (#8B5CF6), dark theme
- Typography: Orbitron for headings, Inter for body
.glass /* Glass morphism background */
.glass-strong /* Enhanced glass effect */
.neon-text /* Neon text glow */
.neon-glow /* Neon box glow */
.animate-float /* Floating animation */
.animate-pulse-glow /* Pulsing glow effect */
.vip-exclusive /* VIP service styling */
.slider-cyan /* Custom slider styling */Each AI service is defined with:
interface Service {
id: string;
icon: string;
color: string;
bgColor: string;
titleKey: string;
descKey: string;
category: string;
customizations: ServiceCustomization[];
}Services support various customization types:
- Slider: Numeric range controls (0-100%)
- Select: Dropdown options
- Toggle: Boolean switches
- Color: Color picker
- Text: Text input fields
- Add service definition to
ServicesLayout.tsx - Define customization options
- Update backend processing in
server/ai/ - Add translations to
useLanguage.ts
- Splash Screen: Animated loading screen
- Menu System: Native application menus
- File Operations: Open/save dialogs
- VIP Key Validation: Secure key checking
- Window Management: Responsive window sizing
Secure communication between main and renderer processes:
// Renderer Process (React)
const electronAPI = (window as any).electronAPI;
electronAPI.onNewTransformation(() => {
// Handle menu action
});
// Main Process (Electron)
ipcMain.handle("validate-vip-key", (event, key) => {
// Validate VIP access
});npm run electron:build # Full build with installer
npm run electron:dist # Build without publishing
npm run electron:pack # Package for testing// shared/schema.ts
export const transformations = pgTable("transformations", {
id: serial("id").primaryKey(),
userId: integer("user_id"),
originalImageUrl: text("original_image_url").notNull(),
transformedImageUrl: text("transformed_image_url").notNull(),
prompt: text("prompt").notNull(),
service: text("service").notNull(),
selectionData: text("selection_data"),
quality: text("quality").notNull().default("standard"),
isVIP: boolean("is_vip").default(false),
createdAt: timestamp("created_at").defaultNow(),
});- Drizzle ORM: Type-safe database operations
- Neon Database: Serverless PostgreSQL
- Connection Pooling: Efficient resource management
- SSL Encryption: Secure data transmission
// VIP key validation
const isVIPValid = await electronAPI.validateVipKey(key);
// Service-level restrictions
if (service.isVIP && !vipSession) {
setShowVIPModal(true);
return;
}- Enhanced AI processing capabilities
- Priority queue access
- Advanced customization options
- Exclusive transformation algorithms
const { t, currentLanguage, toggleLanguage } = useLanguage();
// Usage in components
<h1>{t("Transform Images with AI Magic")}</h1>- Extend language map in
useLanguage.ts - Add translations for all text keys
- Update RTL support for right-to-left languages
- Build:
npm run build - Deploy
dist/public/folder - Configure environment variables
- Ensure database connectivity
- Build:
npm run electron:dist - Distribute installer from
release/ - Include VIP key file
- Configure auto-updater (optional)
# Database setup
npm run setup
npm run db:push
# Web development
npm run dev
# Electron development
npm run electron:dev- Components: Modular, reusable UI components
- Hooks: Custom React hooks for state management
- Services: Backend API integration
- Types: Shared TypeScript interfaces
- Styles: TailwindCSS with custom CSS
- Component Isolation: Each component handles its own state
- Type Safety: Full TypeScript coverage
- Error Handling: Comprehensive error boundaries
- Performance: Optimized rendering and lazy loading
- Accessibility: ARIA labels and keyboard navigation
- Code splitting with dynamic imports
- Image optimization and lazy loading
- State management with React hooks
- Memoization for expensive calculations
- Connection pooling for database
- Image processing queue management
- Caching for AI service responses
- Rate limiting for API endpoints
- Preload scripts for security
- Main process optimization
- Renderer process isolation
- Memory management
- React Developer Tools
- Electron Developer Tools
- Database query logging
- Network request monitoring
- Comprehensive error boundaries
- User-friendly error messages
- Automatic error reporting
- Graceful degradation
- Real-time collaboration
- Cloud storage integration
- Advanced AI models
- Plugin system
- Mobile application
- Microservices architecture
- Container deployment
- Load balancing
- CDN integration
This integration guide provides a comprehensive overview of the KNOUX VERSA application architecture. For specific implementation details, refer to the individual component files and documentation.