GPU 기반 이미지 가속 압축 소프트웨어 개발
- Samsung Software AI Academy For Youth 13기 자율 프로젝트
- 세메스 기업 연계 프로젝트
- 프로젝트 기간: 2025.10.06 ~ 2025.11.21
- 참여 인원: 5명
디스플레이 패널 생산에는 RGB 패턴 이미지가 필요하며, 이를 위해 BMP 파일을 TIFF 형식으로 압축해 활용합니다.
기존 세메스 시스템은 CPU 기반 압축 방식을 사용하여 처리 속도와 성능에 한계가 있었습니다.
GPU를 활용하여 고속·고효율 이미지 압축을 수행하는 Impresser 서비스를 개발하고, 기존 대비 압축 속도를 획기적으로 개선합니다.
제조 장비 소프트웨어 기업
- GPU 가속 이미지 압축
- CPU 대비 최대 4배 빠른 속도
- 비동기 압축 대기열(Queue) 지원
- BMP 패턴 이미지 생성 기능 제공
- 압축 성능 비교 시뮬레이션 제공
김나경 (Leader) @김나경
|
김환수 @김환수
|
이희산 @이희산
|
FRONTEND
📂 frontend
┣ 📂 public
┃ ┣ 📂 fonts
┃ ┣ 📂 images
┃ ┃ ┣ 📂 facilities
┃ ┃ ┣ 📂 logos
┃ ┃ ┗ 📂 products
┃ ┣ 📄 csvlogo.png
┃ ┣ 📄 file.svg
┃ ┣ 📄 globe.svg
┃ ┣ 📄 next.svg
┃ ┣ 📄 pattern-template.csv
┃ ┣ 📄 vercel.svg
┃ ┗ 📄 window.svg
┣ 📂 src
┃ ┣ 📂 app
┃ ┃ ┣ 📂 dashboard
┃ ┃ ┃ ┣ 📂 components
┃ ┃ ┃ ┃ ┣ 📄 Compressionlist.tsx
┃ ┃ ┃ ┃ ┣ 📄 PerformanceRanking.tsx
┃ ┃ ┃ ┃ ┗ 📄 RecommendationEngine.tsx
┃ ┃ ┃ ┗ 📄 page.tsx
┃ ┃ ┣ 📂 imagecompressor
┃ ┃ ┃ ┣ 📂 components
┃ ┃ ┃ ┃ ┣ 📄 CompressionHistory.tsx
┃ ┃ ┃ ┃ ┣ 📄 CompressionQueue.tsx
┃ ┃ ┃ ┃ ┗ 📄 CompressionSettings.tsx
┃ ┃ ┃ ┗ 📄 page.tsx
┃ ┃ ┣ 📂 imagegenerator
┃ ┃ ┃ ┣ 📂 components
┃ ┃ ┃ ┃ ┣ 📄 PatternGenerator.tsx
┃ ┃ ┃ ┃ ┣ 📄 PatternList.tsx
┃ ┃ ┃ ┃ ┣ 📄 PatternPreview.tsx
┃ ┃ ┃ ┃ ┗ 📄 PatternPreviewModal.tsx
┃ ┃ ┃ ┗ 📄 page.tsx
┃ ┃ ┣ 📂 login
┃ ┃ ┃ ┣ 📂 components
┃ ┃ ┃ ┃ ┣ 📄 LoginBackground.tsx
┃ ┃ ┃ ┃ ┣ 📄 LoginBrandSection.tsx
┃ ┃ ┃ ┃ ┣ 📄 logincontain.tsx
┃ ┃ ┃ ┃ ┗ 📄 loginfindmodal.tsx
┃ ┃ ┃ ┗ 📄 page.tsx
┃ ┃ ┣ 📂 performance
┃ ┃ ┃ ┣ 📂 components
┃ ┃ ┃ ┃ ┣ 📄 AddFacilityModal.tsx
┃ ┃ ┃ ┃ ┣ 📄 AlgorithmOptions.tsx
┃ ┃ ┃ ┃ ┣ 📄 EditFacilityModal.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityDetailPanel.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityFileUpload.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityHistorySection.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityHistoryTable.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityInfoSection.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityQueueSection.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityQueueTable.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityStatisticsSummary.tsx
┃ ┃ ┃ ┃ ┣ 📄 FacilityWorkUpload.tsx
┃ ┃ ┃ ┃ ┣ 📄 IsometricMap.tsx
┃ ┃ ┃ ┃ ┣ 📄 NewFacilityList.tsx
┃ ┃ ┃ ┃ ┣ 📄 PerformanceResultComparisonTable.tsx
┃ ┃ ┃ ┃ ┣ 📄 PerformanceResultSummary.tsx
┃ ┃ ┃ ┃ ┣ 📄 PerformanceSimulator.tsx
┃ ┃ ┃ ┃ ┣ 📄 PerformanceSimulatorCard.tsx
┃ ┃ ┃ ┃ ┣ 📄 PerformanceSimulatorSettings.tsx
┃ ┃ ┃ ┃ ┣ 📄 PerformanceSimulatorSlot.tsx
┃ ┃ ┃ ┃ ┣ 📄 SelectedFacilitiesPanel.tsx
┃ ┃ ┃ ┃ ┣ 📄 ThreeIsometricMap.tsx
┃ ┃ ┃ ┃ ┗ 📄 TileMap.tsx
┃ ┃ ┃ ┣ 📄 page.tsx
┃ ┃ ┃ ┗ 📄 types.ts
┃ ┃ ┣ 📂 simulation
┃ ┃ ┃ ┣ 📂 components
┃ ┃ ┃ ┃ ┣ 📄 BmpImportModal.tsx
┃ ┃ ┃ ┃ ┣ 📄 ConfirmedGoalTable.tsx
┃ ┃ ┃ ┃ ┣ 📄 InkConsumptionSummary.tsx
┃ ┃ ┃ ┃ ┣ 📄 LayoutSlider.tsx
┃ ┃ ┃ ┃ ┣ 📄 MotherGlassInfoList.tsx
┃ ┃ ┃ ┃ ┣ 📄 MotherGlassLayoutPreview.tsx
┃ ┃ ┃ ┃ ┣ 📄 MotherGlassSelector.tsx
┃ ┃ ┃ ┃ ┣ 📄 OverallProductionSummary.tsx
┃ ┃ ┃ ┃ ┣ 📄 PrintSimulationPlan.tsx
┃ ┃ ┃ ┃ ┣ 📄 ProductCard.tsx
┃ ┃ ┃ ┃ ┣ 📄 ProductList.tsx
┃ ┃ ┃ ┃ ┣ 📄 ProductQuantityModal.tsx
┃ ┃ ┃ ┃ ┣ 📄 ProductionGoalList.tsx
┃ ┃ ┃ ┃ ┗ 📄 SelectedGoalList.tsx
┃ ┃ ┃ ┣ 📂 data
┃ ┃ ┃ ┣ 📂 utils
┃ ┃ ┃ ┣ 📂 workers
┃ ┃ ┃ ┣ 📄 page.tsx
┃ ┃ ┃ ┗ 📄 types.ts
┃ ┃ ┣ 📂 test
┃ ┃ ┣ 📂 test001
┃ ┃ ┣ 📂 test004
┃ ┃ ┣ 📄 dashboard-layout-example.tsx
┃ ┃ ┣ 📄 favicon.ico
┃ ┃ ┣ 📄 globals.css
┃ ┃ ┣ 📄 group-routes-example.md
┃ ┃ ┣ 📄 layout.tsx
┃ ┃ ┣ 📄 loading.tsx
┃ ┃ ┗ 📄 page.tsx
┃ ┣ 📂 components
┃ ┃ ┣ 📂 auth
┃ ┃ ┃ ┗ 📄 AuthGuard.tsx
┃ ┃ ┣ 📂 layout
┃ ┃ ┃ ┣ 📄 navbar.tsx
┃ ┃ ┃ ┗ 📄 sidebar.tsx
┃ ┃ ┣ 📂 ui
┃ ┃ ┃ ┣ 📄 CommonButton.tsx
┃ ┃ ┃ ┣ 📄 CommonCheckBox.tsx
┃ ┃ ┃ ┣ 📄 CommonContainerBox.tsx
┃ ┃ ┃ ┣ 📄 CommonDropdown.tsx
┃ ┃ ┃ ┣ 📄 CommonInput01.tsx
┃ ┃ ┃ ┣ 📄 CommonLoader.tsx
┃ ┃ ┃ ┣ 📄 CommonModal.tsx
┃ ┃ ┃ ┣ 📄 CommonPagination.tsx
┃ ┃ ┃ ┣ 📄 CommonRadioButton.tsx
┃ ┃ ┃ ┣ 📄 CommonTable.tsx
┃ ┃ ┃ ┣ 📄 CommonTableFrame.tsx
┃ ┃ ┃ ┣ 📄 CommonToast.tsx
┃ ┃ ┃ ┣ 📄 FlatContainerBox.tsx
┃ ┃ ┃ ┣ 📄 GlassButton01.tsx
┃ ┃ ┃ ┗ 📄 GlassButton02.tsx
┃ ┃ ┗ 📄 GlobalSSENotifications.tsx
┃ ┣ 📂 contexts
┃ ┃ ┗ 📄 SSEContext.tsx
┃ ┣ 📂 service
┃ ┃ ┣ 📄 auth.ts
┃ ┃ ┣ 📄 dashboard.ts
┃ ┃ ┣ 📄 globalSSEService.ts
┃ ┃ ┣ 📄 imageCompressor.ts
┃ ┃ ┣ 📄 imageGenerator.ts
┃ ┃ ┣ 📄 imageUpload.ts
┃ ┃ ┗ 📄 inkjet.ts
┃ ┣ 📂 store
┃ ┃ ┣ 📄 authStore.ts
┃ ┃ ┣ 📄 imageCompressorStore.ts
┃ ┃ ┣ 📄 imageGeneratorStore.ts
┃ ┃ ┣ 📄 imageUploadStore.ts
┃ ┃ ┣ 📄 performanceHistoryStore.ts
┃ ┃ ┣ 📄 performanceRankingStore.ts
┃ ┃ ┗ 📄 sidebarStore.ts
┃ ┣ 📂 types
┃ ┃ ┣ 📄 auth.ts
┃ ┃ ┣ 📄 dashboard.ts
┃ ┃ ┣ 📄 imageCompressor.ts
┃ ┃ ┣ 📄 imageGenerator.ts
┃ ┃ ┗ 📄 imageUpload.ts
┃ ┗ 📂 utils
┃ ┗ 📄 fetchWithAuth.ts
┣ 📄 .prettierignore
┣ 📄 .prettierrc
┣ 📄 Dockerfile
┣ 📄 eslint.config.mjs
┣ 📄 next.config.ts
┣ 📄 package.json
┣ 📄 pnpm-lock.yaml
┣ 📄 postcss.config.mjs
┗ 📄 tsconfig.json
BACKEND
📂 backend
┣ 📂 src/main/java/com/semes/impresser
┃ ┣ 📂 auth
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┗ 📄 AuthController.java
┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┃ ┗ 📄 LoginRequest.java
┃ ┃ ┃ ┗ 📂 response
┃ ┃ ┃ ┃ ┣ 📄 LoginResponse.java
┃ ┃ ┃ ┃ ┗ 📄 ReissueTokenResponse.java
┃ ┃ ┗ 📂 service
┃ ┃ ┃ ┣ 📄 AuthService.java
┃ ┃ ┃ ┗ 📄 AuthServiceImpl.java
┃ ┣ 📂 common
┃ ┃ ┣ 📂 client
┃ ┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┃ ┃ ┣ 📄 ConvertImageRequest.java
┃ ┃ ┃ ┃ ┃ ┗ 📄 GenerateImageApiRequest.java
┃ ┃ ┃ ┃ ┗ 📂 response
┃ ┃ ┃ ┃ ┃ ┣ 📄 ConvertImageResponse.java
┃ ┃ ┃ ┃ ┃ ┗ 📄 GenerateImageApiResponse.java
┃ ┃ ┃ ┗ 📄 ExternalApiClient.java
┃ ┃ ┣ 📂 config
┃ ┃ ┃ ┣ 📄 AsyncConfig.java
┃ ┃ ┃ ┣ 📄 CorsConfig.java
┃ ┃ ┃ ┣ 📄 HttpClientConfig.java
┃ ┃ ┃ ┣ 📄 QuerydslConfig.java
┃ ┃ ┃ ┣ 📄 RabbitMQConfig.java
┃ ┃ ┃ ┣ 📄 S3Config.java
┃ ┃ ┃ ┣ 📄 SecurityConfig.java
┃ ┃ ┃ ┗ 📄 SwaggerConfig.java
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┗ 📄 SseController.java
┃ ┃ ┣ 📂 entity
┃ ┃ ┃ ┣ 📄 BaseEntity.java
┃ ┃ ┃ ┗ 📄 BaseTimeEntity.java
┃ ┃ ┣ 📂 exception
┃ ┃ ┃ ┣ 📄 BusinessException.java
┃ ┃ ┃ ┣ 📄 ErrorCode.java
┃ ┃ ┃ ┗ 📄 GlobalExceptionHandler.java
┃ ┃ ┣ 📂 repository
┃ ┃ ┃ ┗ 📄 EmitterRepository.java
┃ ┃ ┣ 📂 response
┃ ┃ ┃ ┣ 📄 BaseResponse.java
┃ ┃ ┃ ┣ 📄 PageResponse.java
┃ ┃ ┃ ┗ 📄 PaginationResponse.java
┃ ┃ ┣ 📂 security
┃ ┃ ┃ ┣ 📄 CustomAccessDeniedHandler.java
┃ ┃ ┃ ┣ 📄 CustomAuthenticationEntryPoint.java
┃ ┃ ┃ ┗ 📄 JwtAuthenticationFilter.java
┃ ┃ ┣ 📂 service
┃ ┃ ┃ ┗ 📄 SseService.java
┃ ┃ ┗ 📂 util
┃ ┃ ┃ ┣ 📄 CookieUtil.java
┃ ┃ ┃ ┣ 📄 JwtUtil.java
┃ ┃ ┃ ┣ 📄 S3Util.java
┃ ┃ ┃ ┗ 📄 SecurityUtil.java
┃ ┣ 📂 convertImage
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┗ 📄 ConvertImageController.java
┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┃ ┣ 📄 CompleteConvertRequest.java
┃ ┃ ┃ ┃ ┗ 📄 CreateConvertRequest.java
┃ ┃ ┃ ┗ 📂 response
┃ ┃ ┃ ┃ ┣ 📄 CompleteConvertResponse.java
┃ ┃ ┃ ┃ ┣ 📄 CompressionTypeResponse.java
┃ ┃ ┃ ┃ ┣ 📄 CompressionTypeVersionResponse.java
┃ ┃ ┃ ┃ ┣ 📄 ConvertHistoryDetailResponse.java
┃ ┃ ┃ ┃ ┣ 📄 ConvertHistoryItemResponse.java
┃ ┃ ┃ ┃ ┗ 📄 CreateConvertResponse.java
┃ ┃ ┣ 📂 entity
┃ ┃ ┃ ┣ 📄 CompressionType.java
┃ ┃ ┃ ┗ 📄 ConvertHistory.java
┃ ┃ ┣ 📂 repository
┃ ┃ ┃ ┣ 📄 CompressionTypeRepository.java
┃ ┃ ┃ ┣ 📄 CompressionTypeRepositoryCustom.java
┃ ┃ ┃ ┣ 📄 CompressionTypeRepositoryCustomImpl.java
┃ ┃ ┃ ┣ 📄 ConvertHistoryRepository.java
┃ ┃ ┃ ┣ 📄 ConvertHistoryRepositoryCustom.java
┃ ┃ ┃ ┗ 📄 ConvertHistoryRepositoryCustomImpl.java
┃ ┃ ┗ 📂 service
┃ ┃ ┃ ┣ 📄 ConvertImageService.java
┃ ┃ ┃ ┗ 📄 ConvertImageServiceImpl.java
┃ ┣ 📂 dashboard
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┗ 📄 DashboardController.java
┃ ┃ ┣ 📂 dto/response
┃ ┃ ┃ ┣ 📄 ConvertAvgSpeedListResponse.java
┃ ┃ ┃ ┣ 📄 ConvertHistoryDetailResponse.java
┃ ┃ ┃ ┣ 📄 ConvertHistoryListResponse.java
┃ ┃ ┃ ┣ 📄 InkjetDailyUsageCompareResponse.java
┃ ┃ ┃ ┣ 📄 InkjetDailyUsageResponse.java
┃ ┃ ┃ ┣ 📄 InkjetDailyUsageStatResponse.java
┃ ┃ ┃ ┗ 📄 InkjetWeeklyUsageResponse.java
┃ ┃ ┗ 📂 service
┃ ┃ ┃ ┣ 📄 DashboardService.java
┃ ┃ ┃ ┗ 📄 DashboardServiceImpl.java
┃ ┣ 📂 generateImage
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┗ 📄 GenerationHistoryController.java
┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┃ ┣ 📄 CompleteBmpGernerationRequest.java
┃ ┃ ┃ ┃ ┗ 📄 CreateBmpImageRequest.java
┃ ┃ ┃ ┗ 📂 response
┃ ┃ ┃ ┃ ┣ 📄 AllGenerationHistoryResponse.java
┃ ┃ ┃ ┃ ┣ 📄 CreateBmpImageAsyncResponse.java
┃ ┃ ┃ ┃ ┣ 📄 CreateBmpImageResponse.java
┃ ┃ ┃ ┃ ┗ 📄 GenerationHistoryResponse.java
┃ ┃ ┣ 📂 entity
┃ ┃ ┃ ┣ 📄 GenerationHistory.java
┃ ┃ ┃ ┗ 📄 GenerationStatus.java
┃ ┃ ┣ 📂 repository
┃ ┃ ┃ ┣ 📄 GenerationHistoryRepository.java
┃ ┃ ┃ ┣ 📄 GenerationHistoryRepositoryCustom.java
┃ ┃ ┃ ┗ 📄 GenerationHistoryRepositoryCustomImpl.java
┃ ┃ ┗ 📂 service
┃ ┃ ┃ ┣ 📄 GenerateImageTransactionalService.java
┃ ┃ ┃ ┣ 📄 GenerateImageWorker.java
┃ ┃ ┃ ┣ 📄 GenerationHistoryService.java
┃ ┃ ┃ ┗ 📄 GenerationHistoryServiceImpl.java
┃ ┣ 📂 inkjet
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┣ 📄 InkjetController.java
┃ ┃ ┃ ┗ 📄 JobHistoryController.java
┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┃ ┣ 📄 CreateInkjetRequest.java
┃ ┃ ┃ ┃ ┣ 📄 CreateJobHistoryRequest.java
┃ ┃ ┃ ┃ ┗ 📄 UpdateInkjetRequest.java
┃ ┃ ┃ ┗ 📂 response
┃ ┃ ┃ ┃ ┣ 📄 AllInkjetResponse.java
┃ ┃ ┃ ┃ ┣ 📄 CreateJobHistoryResponse.java
┃ ┃ ┃ ┃ ┣ 📄 InkjetResponse.java
┃ ┃ ┃ ┃ ┣ 📄 JobHistoryListResponse.java
┃ ┃ ┃ ┃ ┣ 📄 JobHistoryResponse.java
┃ ┃ ┃ ┃ ┗ 📄 TotalJobResponse.java
┃ ┃ ┣ 📂 entity
┃ ┃ ┃ ┣ 📄 InkjetPrinter.java
┃ ┃ ┃ ┣ 📄 InkjetPrinterSlot.java
┃ ┃ ┃ ┣ 📄 JobHistory.java
┃ ┃ ┃ ┣ 📄 PrinterStatus.java
┃ ┃ ┃ ┣ 📄 ProcessStatus.java
┃ ┃ ┃ ┗ 📄 SlotStatus.java
┃ ┃ ┣ 📂 repository
┃ ┃ ┃ ┣ 📄 InkjetRepository.java
┃ ┃ ┃ ┣ 📄 InkjetRepositoryCustom.java
┃ ┃ ┃ ┣ 📄 InkjetRepositoryCustomImpl.java
┃ ┃ ┃ ┣ 📄 InkjetSlotRepository.java
┃ ┃ ┃ ┣ 📄 InkjetSlotRepositoryCustom.java
┃ ┃ ┃ ┣ 📄 InkjetSlotRepositoryCustomImpl.java
┃ ┃ ┃ ┗ 📄 JobHistoryRepository.java
┃ ┃ ┗ 📂 service
┃ ┃ ┃ ┣ 📄 InkjetService.java
┃ ┃ ┃ ┣ 📄 InkjetServiceImpl.java
┃ ┃ ┃ ┣ 📄 InkjetSlotService.java
┃ ┃ ┃ ┣ 📄 InkjetSlotServiceImpl.java
┃ ┃ ┃ ┣ 📄 JobHistoryService.java
┃ ┃ ┃ ┗ 📄 JobHistoryServiceImpl.java
┃ ┣ 📂 queue
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┗ 📄 QueueController.java
┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┣ 📄 CompressImageMessage.java
┃ ┃ ┃ ┣ 📄 ConvertRequest.java
┃ ┃ ┃ ┗ 📄 PrintRequest.java
┃ ┃ ┣ 📂 producer
┃ ┃ ┃ ┣ 📄 ImageMessageProducer.java
┃ ┃ ┃ ┗ 📄 PrintMessageProducer.java
┃ ┃ ┗ 📂 service
┃ ┃ ┃ ┣ 📄 QueueService.java
┃ ┃ ┃ ┗ 📄 QueueServiceImpl.java
┃ ┣ 📂 s3
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┗ 📄 S3Controller.java
┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┃ ┣ 📄 CompleteBatchRequest.java
┃ ┃ ┃ ┃ ┣ 📄 CompleteMultipartRequest.java
┃ ┃ ┃ ┃ ┣ 📄 CreateTiffUploadsRequest.java
┃ ┃ ┃ ┃ ┣ 📄 InitBmpBatchRequest.java
┃ ┃ ┃ ┃ ┣ 📄 PresignedUrlRequest.java
┃ ┃ ┃ ┃ ┣ 📄 TiffUploadItemRequest.java
┃ ┃ ┃ ┃ ┗ 📄 UrlsBatchRequest.java
┃ ┃ ┃ ┗ 📂 response
┃ ┃ ┃ ┃ ┣ 📄 CompleteBatchResultResponse.java
┃ ┃ ┃ ┃ ┣ 📄 CreateTiffUploadResponse.java
┃ ┃ ┃ ┃ ┣ 📄 InitBmpBatchResponse.java
┃ ┃ ┃ ┃ ┣ 📄 InitMultipartUploadResponse.java
┃ ┃ ┃ ┃ ┣ 📄 PresignedUrlListResponse.java
┃ ┃ ┃ ┃ ┣ 📄 PresignedUrlResponse.java
┃ ┃ ┃ ┃ ┣ 📄 UrlsBatchItemResponse.java
┃ ┃ ┃ ┃ ┗ 📄 UrlsBatchResponse.java
┃ ┃ ┗ 📂 service
┃ ┃ ┃ ┣ 📄 FilePresignedService.java
┃ ┃ ┃ ┗ 📄 FilePresignedServiceImpl.java
┃ ┣ 📂 user
┃ ┃ ┣ 📂 entity
┃ ┃ ┃ ┣ 📄 User.java
┃ ┃ ┃ ┗ 📄 UserRole.java
┃ ┃ ┗ 📂 repository
┃ ┃ ┃ ┗ 📄 UserRepository.java
┃ ┗ 📄 ImpresserApplication.java
IMAGE
📂 image
┣ 📂 include/converter
┃ ┣ 📄 bmp_loader.hpp
┃ ┣ 📄 convert.hpp
┃ ┣ 📄 encoder.hpp
┃ ┣ 📄 encoder_factory.hpp
┃ ┣ 📄 generate_bmp.hpp
┃ ┣ 📄 hmac.hpp
┃ ┣ 📄 http_io.hpp
┃ ┣ 📄 log.hpp
┃ ┣ 📄 stopwatch.hpp
┃ ┗ 📄 types.hpp
┣ 📂 src
┃ ┣ 📄 bmp_loader.cpp
┃ ┣ 📄 convert_worker.cpp
┃ ┣ 📄 encoder_factory.cpp
┃ ┣ 📄 encoder_libtiff.cpp
┃ ┣ 📄 encoder_nvtiff.cpp
┃ ┣ 📄 generate_bmp.cu
┃ ┣ 📄 http_io.cpp
┃ ┗ 📄 main_server.cpp
┣ 📂 vendor
┃ ┣ 📄 httplib.h
┃ ┗ 📄 json.hpp
┣ 📄 CMakeLists.txt
┗ 📄 Dockerfile

.png)

















